cache ,cache-ref
curd
parameterTypem,由type Handler自动推断
statementype
useGeneratedKeys,利用原生jdbc获取自增主键的方法 keyProperty
selectKey:order=“before”,keyProperty=“id”,对于不自增的数据库采用,先查数据库中最大的Id,然后加一max(id)+1,传给Id,最后执行插入操作。
parameterMap
resultMap,自定义结果集的封装规则
sql抽取可重用的sql
#{属性名},是参数预编译,后来预编译设值进去的,安全
属
性
名
,
不
是
参
数
预
编
译
,
而
是
拼
接
字
符
串
,
不
安
全
s
q
l
语
句
只
有
参
数
位
置
是
支
持
预
编
译
的
;
e
g
,
表
名
可
以
通
过
{属性名},不是参数预编译,而是拼接字符串,不安全 sql语句只有参数位置是支持预编译的;eg,表名可以通过
属性名,不是参数预编译,而是拼接字符串,不安全sql语句只有参数位置是支持预编译的;eg,表名可以通过{}动态传值。
Map类型数据查询,key指列名,value指值
resultMap,自定义结果集(自定义每一列数据和JavaBean的映射规则)
type指定为哪个JavaBean自定义封装规则,全类名
column="“写成自定义的列名 property=”"指定目标类的哪个属性封装id这一类数据
主键定义使用Id标签,普通结果使用result标签
association:复杂的类型关联;表示联合了一个对象:property,Java Type
1对多,外键放在多(形象记忆:14亿人同时记主席比主席记14亿人容易)
多对多,在建个中间表,存储对应关系
collection定义集合元素的封装:property指定哪个属性是集合属性,Java type指定对象类型,oftype指定集合里面元素的类型
分步查询
select="",指定一个sql查询的唯一标识,mybatis自动调用指定的sql将查出的结果封装进来,column指定将哪一列的数据传递过去
按需加载,需要的时候查询,全局开启按需加载策略(settings里配置)
延迟加载:lazyloadingenable
collection和association的fetchType=eager/lazy亦可。