- 一、Sql映射文件的主要元素?
- 二、参数传递的三种方式
- 三、结果映射
- 四、增删改查
前言
SQL映射文件是MyBatis框架最具特色的部分,下面是MyBatis中SQL映射文件的详解
一、Sql映射文件的主要元素
- mapper:Sql映射文件的根元素,开辟一片空间,来完成一个Mapper接口的操作。
- cache:为给定命名空间配置缓存。
- cache-ref:引用其他命名空间中的缓存配置。
- resultMap:用来描述查询结果集中的字段和java实体类属性的对应关系
- sql:定义可重用的SQL语句块,可以在其他语句映射中引用(使用<include>)
- insert、delete、update、select:增删改查
二、参数传递的三种方式
1.使用javaBean
- parameterType使用类为数据类型
- sql语句中使用#{属性名}来访问类中对应的属性
2.使用Map集合
- parameterType使用map为数据类型
- 使用#{key}绑定键值对
3.使用@Param注解
- 直接传参
- 为参数命名,eg:@Param("param") String param
三、结果映射
1、resultMap:
①作用:自定义结果映射规则
②属性:
id:映射规则集的唯一标识,可被select元素的resultMap属性引用
type:映射的结果类型
③resultMap下的子元素:
id:指定和数据表主键字段对应的标识属性
result:指定结果集字段和实体类属性的映射关系
④resultMap的自动映射行为
在MyBatis的配置文件内设置
value值有三个:
NONE:不使用自动映射
PARTAL:没有嵌套自动,有嵌套不自动映射
FULL:全部使用自动映射
⑤比较resultType与resultMap
本质上都是Map
不能同时使用
2、association和collection
association: 映射has-one关系(一对一,多对一)
属性:property实体类中的属性
javaType数据类型(实体对象类型可自动识别,Map必须明确指定)
collection:映射一对多关系
属性:property
ofType同javaType
4.增删改查
ps:模糊查询:CONCAT('%',#{属性},'%')