_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