前言:
相信很多接触Mybatis一段时间的开发者,依旧对这个问题可能还存在疑惑,最近很多读者向我提到过,我觉得还是很有必要写篇文章来抒发一番,毕竟我骚啊。
首先,大部分人是认为接口与映射文件一定要同名且放在同一个包下,在这里,我否定这个观点。也就是说接口与映射文件不一定要同名且放在同一个包下。要说原因也很简单,首先我们得先从映射器mappers
的四种方式开始讲起。当然常用的就是三种,一种URL的方式开发中基本不用,这里就不概述。
<mappers>
<!--该包、及子包 映射接口实现全部注册为映射器-->
<package name="com.yichun.dao"/>
<!--相对于类路径的资源引用方式-->
<mapper resource="com/yichun/dao/IuserDao.xml"/>
<!--映射器接口实现类的完全限定类名-->
<mapper class="com.yichun.dao.IUserMapper"></mapper>
</mappers>
重点来了!!!!!!
重点来了!!!!!!
重点来了!!!!!!
重点来了!!!!!!
使用resource方式的映射文件可以任意取名而且放置的位置也可以不放在同一个包下!
而package、class方式必须满足以下两点,否则,将报BindingException
异常
1、接口与映射文件一定要同名
2、接口与映射文件一定要放在同一个包下
当然可以自行测试运行调试!
如果本文对你有一点点帮助,那么请点个赞呗,谢谢~
最后,若有不足或者不正之处,欢迎指正批评,感激不尽!如果有疑问欢迎留言,绝对第一时间回复!
欢迎各位关注我的公众号,里面有一些java学习资料和一大波java电子书籍,比如说周志明老师的深入java虚拟机、java编程思想、核心技术卷、大话设计模式、java并发编程实战…都是java的圣经,不说了快上Tomcat车,咋们走!最主要的是一起探讨技术,向往技术,追求技术,说好了来了就是盆友喔…