Mapper代理开发
简单解释就是首先xml与接口要同层,也就是如果mapper接口在java的a包.b包.c包下,映射文件xml也要在resources的a包.b包.c包下.做到同层
mapper的namespace属性为接口名,id为接口中的抽象方法,当然抽象方法可以有多个,id也可以写多个,一一对应即可
返回对象也要对应,抽象方法返回值为User类型,所以xml里也要resulttype也为User类的路径,但sql语句肯定是要返回一个集合,所以要返回一个User类型的集合
配置
MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:
- configuration(配置)
- properties(属性)
- settings(设置)
- typeAliases(类型别名)
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
-
environments(环境配置)
- environment(环境变量)
- transactionManager(事务管理器)
- dataSource(数据源)
- environment(环境变量)
- databaseIdProvider(数据库厂商标识)
- mappers(映射器)
这里逐渐补齐介绍,目前只写部分常用到的,也可以点击链接参考官方文档.
注意:配置各个标签时是有顺序的
environments:配置数据库连接环境信息。可以配置多个environment,通过default属性切换不同的environment.
一般测试有测试库,项目实际上线有产品库,但测试时又不能用产品库,所有这里可以配置多个environment也就是不同的库,用哪个配哪个
主要是配置代理方式,文件加载还是包加载两种
< !--加载sql映射文件-->
<mapper resource="com/itheima /mapper/UserMapper.xml " />
< !--Mapper代理方式-->
<package name="bom.itheima.mapper"/>
配置别名:如果你的mappers中的resulttype类名路径太长,可以在这里进行配置省略