Invalid bound statement (not found): com.zhiyou100.video.mapper.SpeakerMapper.speakerTotalCount
2017-08-18 19:09
351 查看
Invalid bound statement (not found): com.zhiyou100.video.mapper.SpeakerMapper.speakerTotalCount
根据提示可以看出,以上问题的出现表明在mybatis的参数绑定时出现了错误。
作为一个初学者。我先整理一下我的思路。
mapper要发挥作用,需要再web.xml中配置spring-mybatis.xml的扫描路径如下所示:
当然,这个classpath:spring-mybatis.xml可以根据自己的需求进行修改。
如果,这个扫描配置的话,那么就进行下一步。
2. 查看spring-mybatis.xml中关于mapper接口的映射。为什么说是mapper接口的映射呢。代码如下:
因为所有的mapper.java都是接口,只是对应一些方法,而在对应的mapper.xml才写入sql操作。这个是mybatis的特性。
所以在以上这行代码中,value后面所跟的就是存放所有的mapper接口的包的根目录。
如果上面两步没有什么问题的话,就进行第三步。
3. 检查mapper.xml中的id名字,parameterType(参数类型),resultType(返回值类型)是否正确,接着就是sql语句的检查。有时候sql语句也可能是报错的关键。
然而最重要的是,切记切记,名称,单词不要写错(mapper.java 和mapper.xml 的名称一定要一样。我就是因为mapper.xml和mapper.java的名称不一致导致的错误。这个问题最难检查出来了)
其实还有一个错误点:
那就是在xml文件中mapper标签的 namespace(命名空间)没有填写或者是namespace不正确,这个很重要因为他是链接mapper.java和mapper.xml之间的桥梁。
根据提示可以看出,以上问题的出现表明在mybatis的参数绑定时出现了错误。
作为一个初学者。我先整理一下我的思路。
mapper要发挥作用,需要再web.xml中配置spring-mybatis.xml的扫描路径如下所示:
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:applicationContext.xml, classpath:spring-mybatis.xml </param-value> </context-param>
当然,这个classpath:spring-mybatis.xml可以根据自己的需求进行修改。
<context-param> < param-name>contextConfigLocation</param-name> < param-value>classpath*:**/applicationContext-*.xml</param-value> < /context-param> ---------- "**/"表示的是任意目录; "**/applicationContext-*.xml"表示任意目录下的以"applicationContext-"开头的XML文件。 你自己可以根据需要修改。最好把所有Spring配置文件都放在一个统一的目录下,如: <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/spring/applicationContext-*.xml</param-value> </context-param>
如果,这个扫描配置的话,那么就进行下一步。
2. 查看spring-mybatis.xml中关于mapper接口的映射。为什么说是mapper接口的映射呢。代码如下:
<!-- 扫描mybatis映射接口类 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.zhiyou100.video.mapper" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean>
因为所有的mapper.java都是接口,只是对应一些方法,而在对应的mapper.xml才写入sql操作。这个是mybatis的特性。
<property name="basePackage" value="com.zhiyou100.video.mapper" />
所以在以上这行代码中,value后面所跟的就是存放所有的mapper接口的包的根目录。
如果上面两步没有什么问题的话,就进行第三步。
3. 检查mapper.xml中的id名字,parameterType(参数类型),resultType(返回值类型)是否正确,接着就是sql语句的检查。有时候sql语句也可能是报错的关键。
然而最重要的是,切记切记,名称,单词不要写错(mapper.java 和mapper.xml 的名称一定要一样。我就是因为mapper.xml和mapper.java的名称不一致导致的错误。这个问题最难检查出来了)
其实还有一个错误点:
那就是在xml文件中mapper标签的 namespace(命名空间)没有填写或者是namespace不正确,这个很重要因为他是链接mapper.java和mapper.xml之间的桥梁。
相关文章推荐
- MyBatis Invalid bound statement (not found)错误
- invalid bound statement (not found)
- springmvc+mybatis 诡异问题 Invalid bound statement (not found)
- Invalid bound statement (not found)错误
- Invalid bound statement (not found)
- Invalid bound statement (not found)
- Invalid bound statement (not found)
- spring boot mybatis Invalid bound statement (not found)
- Invalid bound statement (not found): com.yu.test.dao.TaskDao.findById
- Invalid bound statement (not found)错误的可能原因
- Invalid bound statement (not found): com.zc.product.dao.IFancyMapper.totalPage
- Invalid bound statement (not found):
- IDEA中 Invalid bound statement (not found)解决方法
- Invalid bound statement (not found): com.xs.vote.dao.UserDao.get
- Invalid bound statement (not found)
- invalid bound statement (not found),大概应该是报mapper.xml中的sql查询和mapper.java中的方法没有绑定成功!
- IDEA中 Invalid bound statement (not found)解决方法
- Mybatis——Invalid bound statement (not found)-Could not find result map java.lang.Integer
- Invalid bound statement (not found) 异常原因
- maven + mybatis Invalid bound statement (not found) 错误解决