题记部分
一、if & test
如果id,name,age不为空,则按照指定的值进行查询。如果这三者都是空(null和空字符串),则该sql执行结果为全表查询的结果集。
<select id="getUserByUser" parameterTytpe="vo.User" resultMap="userResultMap">
select
in,name,age
from
tb_user
where 1=1
<if test="id != null">
and id = #{id}
</if>
<if test="name != null and name !=''">
and name = #{name}
</if>
<if test="age != null">
and age = #{age}
</if>
</select>
二、choose & when & otherwise
<select id="getUserByUser" parameterTytpe="vo.User" resultMap="userResultMap">
select
in,name,age
from
tb_user
where 1=1
<choose>
<when test="id != null">
and id = #{id}
</when>
<when test="name != null and name !=''">
and name = #{name}
</when>
<otherwise>
and age is not null
</otherwise>
</choose>
</select>
三、where
<select id="getUserByUser" parameterTytpe="vo.User" resultMap="userResultMap">
select
in,name,age
from
tb_user
<where>
<if test="id != null">
and id = #{id}
</if>
</where>
</select>
四、trim
有时候,需要去掉一些特殊的SQL语法,比如:and、or。则可以使用trim元素。
五、set
六、foreach
七、concat & bind
— 业精于勤荒于嬉,行成于思毁于随 —
标签:name,age,09,user,SQL,mybatis,tb,id,select From: https://www.cnblogs.com/houhuilinblogs/p/18489975