Mybatis学习笔记
标签
if/where/set/trim
TRIM标签的prefix/suffix属性:如果trim后内容不为空,则增加某某字符串(作前缀/后缀);
TRIM标签的prefixOverrides/suffixOverrides属性:如果trim后内容不为空,则删掉(前缀/后缀的)某某字符串。
choose when otherwise
有多个when标签只执行其中的第一个。相当于java中的 switch case ;break;
foreach
foreach元素的属性主要有 item,index,collection,open,separator,close。
item表示集合中每一个元素进行迭代时的别名,
index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,
open表示该语句以什么开始,
separator表示在每次进行迭代之间以什么符号作为分隔符,
close表示以什么结束。
collection属性
如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
如果传入的参数是多个的时候,我们就需要把它们封装成一个Map或者Object。
bind
模糊查询下 <bind name="likename" value="'%' + name + '%'" /> 完成字符串拼接
事务管理
表类型INNODB才支持事务管理
查看表类型
show table status from database_name;
设置表类型innodb
alter table table_name ENGINE = innodb;
JDBC
务必设置
<transactionManager type="JDBC"/>
MANAGED
交容器管理
<transactionManager type="MANAGED"/>
延迟加载
<configuration>
<settings>
<!-- 打开延迟加载的开关 -->
<setting name="lazyLoadingEnabled" value="true" />
<!-- 将积极加载改为消息加载即按需加载 -->
<setting name="aggressiveLazyLoading" value="false"/>
</settings>
……