文档章节

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

快乐肥宅
 快乐肥宅
发布于 2016/12/09 00:28
字数 335
阅读 76
收藏 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 接口了。

© 著作权归作者所有

共有 人打赏支持
快乐肥宅
粉丝 54
博文 70
码字总数 67278
作品 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异常_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
JavaEE Spring+Mybatis整合

1. MyBatis整合Spring所需的jar包如下: Spring的jar包 Mybatis的jar包 Mybatis-Spring整合包,即mybatis-spring-1.3.2.jar MySql的数据库驱动jar包 数据库连接池的jar包 2.整合思路 MyBati...

凌浩雨
04/16
0
0
mybatis sql中查询类型为int的字段,返回null的异常

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

Atom_me
2015/10/29
9.4K
1

没有更多内容

加载失败,请刷新页面

加载更多

CentOS 安装PHP5和PHP7

安装PHP5 下载解压二进制包 [root@test-a src]# cd /usr/local/src/[root@test-a src]# wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2[root@test-a src]# tar jxvf php-5.6......

野雪球
今天
4
0
windows上类似dnsmasq的软件Dual DHCP DNS Server

官网地址:http://dhcp-dns-server.sourceforge.net/官网定向的下载地址:https://sourceforge.net/projects/dhcp-dns-server/files/ 设置参考地址:http://blog.51cto.com/zhukeqiang/18264......

xueyuse0012
今天
3
0
LinkedHashMap源码解析

前言 HashMap中的元素时无序的,也就是说遍历HashMap的时候,顺序和放入的顺序是不一样的。 如果需要有序的Map,就可以采用LinkedHashMap. LinkedHashMap通过维护一个包含所有元素的双向链表,...

grace_233
今天
3
0
初识flask

文档 0.10.1版本 http://www.pythondoc.com/flask/index.html 1.0.2版本 https://dormousehole.readthedocs.io/en/latest/ 安装flask $ pip3 install flaskCollecting flask Downloading......

yimingkeji
昨天
5
0
Akka系统《sixteen》译

Actor是一个封装状态(state)和行为(behavior)的对象,它们只通过交换消息通信(放入收件人邮箱的邮件)。从某种意义上说,Actor是最严格的面向对象编程形式,但它更适合将他们视为人:在与Act...

woshixin
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部