您的位置:首页 > 数据库

Mybatis系列---强大的动态SQL

2017-11-09 09:41 756 查看
转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/78485805,建议读者阅读原文,确保获得完整的信息

if标签支持条件判断

<if test="task_type != null and task_type > 0">task_type=#{task_type},</if>


set标签能够自动识别并过滤if语句末尾的逗号。

<update id="updateTask" parameterType="TTask">
UPDATE t_task
<set>
<if test="task_type != null and task_type > 0">task_type=#{task_type},</if>
<if test="task_source != null">task_source=#{task_source},</if>
<if test="task_status != null and task_status > 0">task_status=#{task_status},</if>
<if test="task_message != null">task_message=#{task_message}</if>
</set>
WHERE
task_id =#{task_id}
AND enabled = 1
</update>


trim标签能够自定义SQL语句,自定义过滤前缀或后缀。

<select id="selectTaskList" parameterType="java.util.Map" resultType="TTask">
SELECT
<include refid="taskSelectColumn" />
FROM
t_task
<trim prefix="WHERE" prefixOverrides="AND">
<if test="task_type != null and task_type > 0">
AND task_type = #{task_type}
</if>
<if test="task_status != null and task_status > 0">
AND task_status = #{task_status}
</if>
</trim>
AND enabled = 1
</select>


prefixOverrides:去掉第一个AND(也可以是其他的标记,这个自定义)

prefix:前缀

参考链接:

1、http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: