_parameter
_parameter 表示当前传入的参数,如果查询的时候传入的参数只有一个,则使用 _parameter
1
|
E getById(Integer id);
|
1
2
3
4
5
6
7
|
<select id= "getById" parameterType= "int" resultMap= "BaseResultMap" >
SELECT *
FROM
库名.表名
WHERE
id = #{_parameter}
</select>
|
if判断
1
2
3
4
5
6
|
<select id= "getUsers" parameterType= "int" resultType= "User" >
SELECT id, name, phone, email FROM users WHERE 1 = 1
< if test= "_parameter != null" >
and id > #{_parameter}
</ if >
</select>
|
大量重复的字段
1
2
3
|
<sql id= "HHHHH" >
id,name
</sql>
|
引用写法
1
|
<include refid= "HHHHH" />
|
foreach
1、item表示集合中每一个元素进行迭代时的别名,
2、index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,
3、open表示该语句以什么开始,
4、separator表示在每次进行迭代之间以什么符号作为分隔符,
5、close表示以什么结束,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<update id= "updateBatch" >
<foreach item= "item" index= "index" collection= "list" open= ""
close= "" separator= ";" >
< if test= "item.statusType.toString() == 'DELETED'" >
DELETE FROM 库名.表名 WHERE id = #{item.id}
</ if >
< if test= "item.statusType.toString() != 'DELETED'" >
UPDATE 库名.表名
<set>
modifier = #{item.modifier,jdbcType=CHAR},
< if test= "item.account != null" >
account = #{item.account,jdbcType=VARCHAR},
</ if >
< if test= "item.name != null" >
name = #{item.name,jdbcType=VARCHAR},
</ if >
</set>
where
库名.表名.id =#{item.id}
</ if >
</foreach>
</update>
|
set
一定要非空判断
set为空会报错
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<update id= "updateFlow" >
UPDATE ufis.pid
SET
<strong><span style= "font-size:24px;" ></span></strong><pre name= "code" class = "html" >< if test= "<pre name=" code " class=" html "><pre name=" code " class=" html ">used_flow != null" ></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<p></p>
<pre></pre>
<pre></pre>
used_flow = used_flow + #{flow},<br>
</ if ><br>
change_flow_time =#{changeFlowTime}WHEREid = #{id}</update>
<pre></pre>
<br>
<br>
<p></p>
</pre></pre>
|
以上所述是小编给大家介绍的MyBatis常用标签大全,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/qq_29842929/article/details/53509203