七、mybaitis学习 ——SqlMapper配置文件(两大配置文件之sqlXml)

七、mybaitis学习 ——SqlMapper配置文件(两大配置文件之sqlXml)

一、常用配置标签

1.CURD标签
Select:查询
Update:修改
Insert:添加
Delete:删除
2.sql标签
sql:用于抽取sql语句片段,供增删改查引用
3.结果集及参数封装标签
resultMap:用于封装结果集
parameterMap:用于封装参数(不推荐使用,这里不做说明)
4.关于二级缓存的声明标签
cache 开启二级缓存的五部之一,一般可以用单标签
cache-ref:不常用这里不做说明

sql映射文件共9个标签

二、标签的属性

1. CURD标签常用通用属性
id:方法名,同接口dao方法保持一致,唯一标识(代理模式)
①resultType:返回值类型,
1)基本类型 不区分大小写,不需要写全限定名
2)引用类型 必须写全限定名 起过别名的也可以写别名
3)list集合类型,直接写集合所封装的引用类型或基本类型,用法和规则参考上述1,2
②resultMap:返回值类型
1)用于单表的数据库字段名和javaBean字段名不一致 ,此问题也可以用sql语句中的别名解决
2)用于多表查询的复杂封装,以及延迟加载查询
③parameterType:参数类型 一般复杂参数会和POJO连用
1)基本类型 不区分大小写,不需要写全限定名
2)引用类型 必须写全限定名 起过别名的也可以写别名
④parameterMap: 参数类型 (非推荐用法)
2 select标签特有属性
useCache=”true” 声明该语句使用二级缓存,和其他五部连用
3 Insert标签特有属性
useGeneratedKeys=”true” :添加完成后自动填充主键值
keyProperty=”id” :指明主键的字段
说明:
1)这两个标签必须一起用才可以起作用
2) useGeneratedKeys也可以配合selectKey子标签完成自增长的自动填充主键,只是实现代码相对较为繁琐

"AFTER" resultType="java.lang.Integer" keyProperty="id"> 
   select last_insert_id(); 
 --> 

3)对于增删改3个标签由于mybaitis底层的实现机制都是调用update方法所以可以混用
4.sql
id属性:唯一表示,内容可供其他CURD标签中的include语句引用
5. resultMap
type属性:返回值类型,一般为javaBean,需要写全限定类名或者别名
id:唯一表示,供其他CURD标签中的resultMap属性引用
说明:他的具体使用将在十resultMap中进行阐述
6. 关于mybatis的二级缓存
二级缓存:sqlSessionFactory级别的缓存
1.实体类对象需要实现序列化接口
2.需要在核心配置文件中开启二级缓存
3.需要在mapper配置文件中开启使用二级缓存
4.需要在缓存的sql语句配置中配置使用二级缓存
5.操作的过程中需要提交之后才会存入到缓存中

你可能感兴趣的:(1mybaitis学习)