MyBatis中的mapper接口相当于以前的dao,但是区别在于,mapper仅仅是接口,我们不需要提供实现类(放数据增删改查执行代码)
MyBatis面向对象接口编程要保持两个一致
1)映射文件的namespace要和mapper接口的全类名保持一致
2)映射文件中SQL语句中的id要和mapper接口中的方法名一致
MyBatis中的关系
表--实体类--mapper接口--映射文件(都是相对应的)
动态SQL(重点)
---
MyBatis的关联映射和缓存机制(重点)
关系映射
一对一
一对多
多对多
java中的表示
一对一查询
《association》元素
元素的属性
《association》元素是《resultMap》的子元素,他有两种配置方法
嵌套查询方式和嵌套结果方式
嵌套查询:
嵌套结果查询:(主流方法)
一对多
《collection》元素
多对多
嵌套子查询方法:
嵌套结果查询:
MyBatis缓存机制
一级缓存
二级缓存
注解的增删改查操作(重点)
建一个接口,接口名的规范是表名+Mapper,dao层
然后在这个接口中加上@select注解
在测试时,不像之前一样new一个新的对象,只能session.getMapper一个代理对象