Mybatis系列---强大的动态SQL
2017-11-09 09:41
756 查看
转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/78485805,建议读者阅读原文,确保获得完整的信息
if标签支持条件判断
set标签能够自动识别并过滤if语句末尾的逗号。
trim标签能够自定义SQL语句,自定义过滤前缀或后缀。
prefixOverrides:去掉第一个AND(也可以是其他的标记,这个自定义)
prefix:前缀
参考链接:
1、http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html
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
相关文章推荐
- 深入浅出Mybatis系列(九)---强大的动态SQL
- 深入浅出Mybatis系列(九)-强大的动态SQL
- 深入浅出Mybatis系列(九)---强大的动态SQL
- 深入浅出Mybatis系列(九)---强大的动态SQL
- 深入浅出Mybatis系列(九)---强大的动态SQL
- 深入浅出Mybatis系列(九)---强大的动态SQL
- 深入浅出Mybatis系列(九)---强大的动态SQL
- 深入浅出Mybatis系列(九)---强大的动态SQL
- 深入浅出Mybatis系列(九)---强大的动态SQL
- 深入浅出Mybatis系列(九)---强大的动态SQL
- Mybatis 最强大的动态sql <where>标签
- Mybatis系列(五)动态SQL
- MyBatis系列之(五):动态sql
- mybatis(九)强大的动态SQL
- mybatis系列技术之三 动态SQL
- Mybatis之强大的动态SQL
- MyBatis代码实例系列-07:Mybatis动态SQL标签(二)---bind、foreach和多数据库厂商支持_databaseId
- 深入浅出Mybatis系列(九)---强大的动态SQL
- MyBatis代码实例系列-06:Mybatis动态SQL标签(一)---if、where、set、trim、choose
- J2EE系列之MyBatis学习笔记(七)-- 动态sql