spring和mybatis的整合使用,未使用整合包的情况下maven用5可实现
来源:互联网 发布:淘宝奥巴狗游戏 编辑:程序博客网 时间:2024/06/07 16:53
背景:Spring整合Mybatis(未具体的学习如何整合spring和mybatis,学了之后再来看看原因)
报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
解释:就是说,你的Mapper接口,被Spring注入后,却无法正常的使用mapper.xml的sql;
这里的Spring注入后的意思是,你的接口已经成功的被扫描到,但是当Spring尝试注入一个代理(MyBatista实现)的实现类后,却无法正常使用。这里的可能发生的情况有如下几种;
- 接口已经被扫描到,但是代理对象没有找到,即使尝试注入,也是注入一个错误的对象(可能就是null)
- 接口已经被扫描到,代理对象找到了,也注入到接口上了,但是调用某个具体方法时,却无法使用(可能别的方法是正常的)
当然,我们不好说是那种情况,毕竟报错的结果是一样的,这里就提供几种排查方法:
- mapper接口和mapper.xml是否在同一个包(package)下?名字是否一样(仅后缀不同)?
- 比如,接口名是NameMapper.java;对应的xml就应该是NameMapper.xml
- mapper.xml的命名空间(namespace)是否跟mapper接口的包名一致?
- 比如,你接口的包名是com.abc.dao,接口名是NameMapper.java,那么你的mapper.xml的namespace应该是com.abc.dao.NameMapper
- 接口的方法名,与xml中的一条sql标签的id一致
- 比如,接口的方法List<User> findAll();那么,对应的xml里面一定有一条是<select id="findAll" resultMap="**">****</select>
- 如果接口中的返回值List集合(不知道其他集合也是),那么xml里面的配置,尽量用resultMap(保证resultMap配置正确),不要用resultType
- 最后,如果你的项目是maven项目,请你在编译后,到接口所在目录看一看,很有可能是没有生产对应的xml文件,因为maven默认是不编译的,因此,你需要在你的pom.xml的<build></build>里面,加这么一段:
阅读全文
0 0
- spring和mybatis的整合使用,未使用整合包的情况下maven用5可实现
- ActiveMQ简单使用介绍(一):未整合Spring情况下的介绍使用
- Maven的依赖关系:Spring整合Mybatis使用MySQL
- Intellij idea下使用Maven管理的Spring+SpringMVC+Mybatis的整合
- 使用maven,实现ssm(spring+springmvc+mybatis)三大框架的整合DEMO
- Eclipse下使用Maven整合SSM(spring springmvc mybatis)
- Mybatis的使用与Spring的整合
- Spring使用Maven整合Mybatis问题总结
- 使用idea maven实现Spring+mybati的整合
- 使用idea maven实现Spring+mybati的整合
- 整合spring mvc和mybatis,spring,maven的pom脚本
- maven下Spring,Spring mvc整合MyBatis的配置总结和批量操作的效率测试
- maven项目下的Spring+SpringMVC+Mybatis整合实例
- Spring整合mybatis使用
- Spring+MyBatis整合使用
- spring 和 mybatis 的整合
- Mybatis 和 Spring 的整合
- Spring和Mybatis的整合
- 坚持#第201天~云计算的基础
- Python 类属性,实例属性,类方法,实例方法,静态方法
- 10月3日 c语言简单循环 在全系1000学生中,征集慈善捐款,当达到10万元就结束。
- 数据库入门级指令操作
- 【poj 1990】MooFest(树状数组)
- spring和mybatis的整合使用,未使用整合包的情况下maven用5可实现
- java selenium tess4j识别验证码模拟登陆。
- jQueryy原生js实现---hover事件
- 搬瓦工搭建VPS 再利用腾讯云做中转 最后使用pac模式
- go语言之map练习(二):编写一个程序wordfreq程序,统计输入文本中每个单词出现的频率(次数)
- C++随笔——悬空指针(dangling pointers)
- 高级C语言教程-作用域
- Spark Streaming累加器与广播的简单应用
- TCP连接的状态与关闭方式,及Windows系统下的TCP参数优化