mybatis中开发小记
1.mybatis下 转义符的编写:
< <;
> >
例如:create_date_time <> #{startTime}
2. <![CDATA[ >= ]]> 中括号内的原样输出,不会编译
create_date_time <![CDATA[ <> ]]> #{startTime}
3.关于if标签中对值得判断可选择两种方案
3.1 单引号在外,双引号在内
例如:判断type等于1时添加条件 type = 1
<if test='type == "1"' >
and type = 1
</if>
3.2 双引号在外,基本类型使用.toString()方法
例如:判断type等于1时添加条件 type = 1
<if test="type == '1'.toString() ">
and type = 1
</if>
4.foreach用法
collection: 遍历的对象,传参是list、array时,默认“list”,“array”代替,可在@Param("keyName")注解来设置自定义collection属性值,设置keyName后,list、array会失效。
item:集合元素迭代时的别名,一般情况下不做改变,必填。
index:在list、array中,index为元素的序号索引,
open:遍历集合时开始符号,与close搭配使用。
separator:元素之间的分隔符,
close:集合遍历时的结束符号,与open搭配使用。
例如:
SELECT id,name,age
FROM user where 1 = 1
<if test="list != null and list.size > 0">
and id in
<foreach collection="list" open="(" close=")" item="item" index="index" separator=",">
#{item,jdbcType=BIGINT}
</foreach>
</if>
order by id
5. trim标签
prefix sql语句拼接的前缀
suffix sql语句拼接的后缀
prefixOverrides 去除sql语句前面的关键词或者符号
suffixOverrides 去除sql语句后面的关键词或者符号。
根据传参新增user, 参数id,name,age谁有谁进sql。例如:
insert into user
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test=" name != null and name !='' ">
name,
</if>
<if test=" age != null">
age,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="name != null and name !=''">
#{name,jdbcType=VARCHAR},
</if>
<if test="age != null">
#{age,jdbcType=INTEGER},
</if>
</trim>
-------------------------------------------------------------------------------------------------------
以上是个人理解,仅做参考。
mybatis 链接:https://mybatis.org/mybatis-3/zh/getting-started.html,详细的可查阅相关资料。

浙公网安备 33010602011771号