文档章节

包路径扫描引起的 MyBatis 异常 BindingException

开源中国政治部主席
 开源中国政治部主席
发布于 2016/12/09 00:28
字数 335
阅读 71
收藏 0

异常信息

    org.apache.ibatis.binding.BindingException:Invalid bound statement (not found): net.mytaotao.usermanager.core.user.service.UserService.getUserById

发现原因

    这里的 userService 成了 mybatis 针对 Mapper 产生的代理对象了 。 mapperInterface 是 net.mytaotao.usermanager.core.user.service.UserService 接口,并不是某个 Mapper 接口,所以产生 org.apache.ibatis.binding.BindingException 异常。

    导致以上现象的原因

    

    

    

说明 : basePackage 属性支持 Ant 风格的通配符

(这个问题的原因应该和 mybatis 的扫描和加载策略有关,具体源代码我还没看,只是猜测。)

解决问题

    由于我的 basePackage 配置的问题 MapperScannerConfigurer 扫描到了 service 包下的接口,但这是错误的,并不是我们希望的。所以修改 basePackage 的配置为 

    

    

说明 : basePackage 属性支持 Ant 风格的通配符

Ant通配符

  • ? 匹配任何单字符
  • * 匹配0或者任意数量的字符
  • ** 匹配0或者更多的目录

举例

  • /project/*.a 匹配项目根路径下所有在project路径下的.a文件
  • /project/p?ttern 匹配项目根路径下 /project/pattern 和 /app/pXttern,但是不包括/app/pttern
  • /**/example 匹配项目根路径下 /project/example, /project/foow/example, 和 /example
  • /project/**/dir/file.* 匹配项目根路径下/project/dir/file.jsp, /project/foow/dir/file.html
  • /**/*.jsp 匹配项目根路径下任何的.jsp 文件

 

测试

    

    这时 UserService 中已经注入了 UserMapper ,而 mapperInterface 也是正确的 UserMapper 接口了。

© 著作权归作者所有

共有 人打赏支持
开源中国政治部主席
粉丝 51
博文 69
码字总数 66518
作品 0
东城
程序员
springMVC + mybatis + mongodb结合时 想某些dao层的方法不走mybat

问题1:springMVC + mybatis + mongodb结合时 想某些dao层的方法不走mybatis,但是系统会报找不到注解的实体及mongoTemplate注解不了,报部分错误信息(只截取了部分信息) org.apache.ibati...

带你去遛狗
2016/07/26
1K
0
IDEA中使用maven整合mybatis与spring

整合思路 需要spring通过方式管理SqlSessionFactory. spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession.(Sping和mybati整合自动完成). 持久层的mapper都需要有spring进...

中柠檬
2016/11/18
42
0
mybatis sql中查询类型为int的字段,返回null的异常

l中查询类型为int的字段,返回null的异常 项目中用mybatis3.x,用sql查询某个表类型为int的字段,那个表是空表,没有数据,结果抛异常了,原因是在对象中的属性为int,空表时,sql查询出来的是...

Atom_me
2015/10/29
9.4K
1
Mybatis异常_03_Invalid bound statement (not found)

一、异常信息 Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.hand.hec.nghec.sys.mapper.SysServiceMapper.selectService 二、异常原因......

rayner
01/11
0
0
spring boot 与mybatis整合,type-aliases-package、type-handlers-package等配置不起作用,导致类加载失败

刚刚接触spring boot,项目中整合了mybatis,但配置没用mybatis-spring-boot-autoconfigure自动配置, 导致mybatis的配置: mybatis.type-aliases-package=com.example.domain.modelmybatis......

Beaver_uic
2017/04/14
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
3
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部