mybatis错误:Invalid bound statement (not found): com.prcsteel.peanut.dao.UserDao.selectById
2016-08-02 16:14
609 查看
spring + mybatis 配置 SqlSessionFactoryBean
代理接口dao通过MapperScanConfigurer扫描注入
参照网上的几点建议:
1、
mapper文件namespace和dao路径对应
2.UserDao的方法在UserMapper.xml中没有,然后执行UserDao的方法会报此
3、UserDao的方法返回值是List,而select元素没有正确配置ResultMap,或者只配置ResultType!
4、如果你确认没有以上问题,请任意修改下对应的xml文件,比如删除一个空行,保存.问题解决…
发现并无上述问题。仔细查看log,发现有这一段输出:
SqlSessionFactoryBean 并没有加载到对应的mapper xml文件,当然执行方法的时候也就找不到dao所对应的mapper,而无法执行对应的sql,查看maven target 的classes目录下也并没有mapper的xml文件出现。
原因:mapper文件并不是放在resource中,而是在java目录,maven编译的时候并没有把xml文件编译进来。
解决:在pom文件中添加resource编译
<bean id="sqlSessionFactory" name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--数据源--> <property name="dataSource" ref="dataSource" /> <!--基础实体类包路径--> <property name="typeAliasesPackage" value="${mybatis.model}" /> <!--mybatis 动态sql编写mapper文件路径--> <property name="mapperLocations" value="${mybatis.mapperLocations}" /> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageHelper"> <property name="properties" value="dialect=mysql"/> </bean> </array> </property> </bean>
代理接口dao通过MapperScanConfigurer扫描注入
<!--mapper 代理接口(dao)扫描--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!--这里value 用properties文件引入死活不成功!--> <property name="basePackage" value="com.prcsteel.peanut.dao" /> <!--单一数据源时可以不配制此项--> <!-- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />--> </bean>
参照网上的几点建议:
1、
<mapper namespace="com.prcsteel.peanut.dao.UserDao">
mapper文件namespace和dao路径对应
2.UserDao的方法在UserMapper.xml中没有,然后执行UserDao的方法会报此
3、UserDao的方法返回值是List,而select元素没有正确配置ResultMap,或者只配置ResultType!
4、如果你确认没有以上问题,请任意修改下对应的xml文件,比如删除一个空行,保存.问题解决…
发现并无上述问题。仔细查看log,发现有这一段输出:
[DEBUG] org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory - Property 'mapperLocations' was not specified or no matching resources found
SqlSessionFactoryBean 并没有加载到对应的mapper xml文件,当然执行方法的时候也就找不到dao所对应的mapper,而无法执行对应的sql,查看maven target 的classes目录下也并没有mapper的xml文件出现。
原因:mapper文件并不是放在resource中,而是在java目录,maven编译的时候并没有把xml文件编译进来。
解决:在pom文件中添加resource编译
<resources> <resource> <!--此处配置到java是因为mapper.xml文件在java目录--> <directory>src/main/java</directory> <includes> <include>**/*</include> </includes> <filtering>false</filtering> </resource> </resources>
相关文章推荐
- mybatis:Invalid bound statement (not found):com.me.dao.UserDAO.insertRecord
- 【spring boot Mybatis】报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.newhope.interview.dao.UserMapper.add
- 测试spring,mybatis时出现.BindingException: Invalid bound statement (not found): com.imooc.dao.Secki
- mybaties错误解决Invalid bound statement (not found): com.yealink.example.dao.UserMapper.getUserByUserInf
- 解决maven项目不会预读xml文件,Invalid bound statement (not found): com.starry.dao.IUserDao.selAll
- "Invalid bound statement (not found): com.sitech.admin.dao.TbOpenAbilityInfoDao.findAbilityReadyUp"mybatis配置文件bug
- mybatis错误:Invalid bound statement (not found)
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.png.mapper.User
- Bug4:Invalid bound statement (not found) mybatis错误
- mybatis错误:Invalid bound statement (not found)
- 关于mybatis “org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)” 错误的问题。
- Eclipse中Mybatis无法读取xml文件的问题(mybatis绑定错误-- Invalid bound statement (not found))
- mybatis绑定错误-- Invalid bound statement (not found)
- mybatis绑定错误-- Invalid bound statement (not found)
- Mybatis在idea中错误:Invalid bound statement (not found)
- MyBatis绑定错误提示BindingException:Invalid bound statement (not found)的解决方法
- 关于mybatis “org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)” 错误的问题。
- mybatis绑定错误:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
- mybatis错误:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
- 使用mybatis 产生Invalid bound statement (not found)错误原因