1.使用MyBatis实现条件查询sql
(1)sql映射文件数据库
<1>用于区分不一样的mapper,全局惟一编程
<2>绑定DAO接口,即面向接口编程。当namespace绑定某一接口以后,能够不用写该接口的实现类,MyBatis会经过接口的完整限定名查找到对应的mapper配置来执行SQL语句。所以namespace的命名必需要跟接口同名。缓存
2.使用resultMap完成查询结果的展示app
(1)resultTypespa
resultType直接表示返回类型,包括基础数据类型和复杂数据类型对象
(2)resultMapblog
resultMap则是对外部resultMap定义的引用,对应外部resultMap的id,表示返回结果映射到哪个resultMap上。它的应用场景通常是:数据库字段信息与对象属性不一致或者须要作复杂的联合查询以便自由控制映射结果接口
(3)resultType和resultMap的关联ci
在MyBatis进行查询映射的时候,其实查询出来的每一个字段值都放在一个对应的Map里面,其中键是字段名,值则是其对应的值。当select元素提供的返回类型属性是resultType的时候,MyBatis会将Map里面的键值对取出赋值给resultType所指定的对象对应的属性(即调用对应的对象里的属性的setter方法进行填充)。
resultType属性和resultMap属性绝对不能同时存在
3.使用@Param注解实现多参数入参
4.使用resultMap实现高级结果映射
(4.1)association
association仅处理一对一的关联关系
(4.2)collection
5.resultMap自动映射级别和MyBatis缓存
(1)MyBatis对resultMap自动映射的三个匹配级别: