1.trim prefix prefixOverrides suffix suffixOverrides
---通常用法---
例子1-1(以字符“where”覆盖首个“and”或"or”字符):
<!--prefix & prefixOverrides--> <select id="findUserById" resultType="user"> select * from user <trim prefix="where" prefixOverrides="and|or "> <if test="id != null"> id=#{id} </if> and deleteFlag=0; </trim> </select>
等效于
<select id="findUserById" resultType="user"> select * from user <where> <if test="id != null"> id=#{id} </if> and deleteFlag=0; </where> </select>
当id为空,生成的sql语句为:
//deleteFlag前的"and"被去掉 select * from user where deleteFlag=0;
例子1-2(为trim括起来的语句添加"set"字符前缀,并且覆盖去掉最后面的","字符):
<!--主要看suffixOverrides的用法--> <update id="updateUser" parameterType="com.dy.entity.User"> update user <trim prefix="set" suffixOverrides=","> <if test="name != null">name = #{name},</if> <if test="password != null">password = #{password},</if> </trim> <where> <if test="id != null"> id = #{id} </if> and deleteFlag = 0; </where> </update>
等效于
<update id="updateUser" parameterType="com.dy.entity.User"> update user <set> <if test="name != null">name = #{name},</if> <if test="password != null">password = #{password},</if> </set> <where> <if test="id != null"> id = #{id} </if> and deleteFlag = 0; </where> </update>
生成的sql语句为:
//password后的","被去掉 update user set name = #{name},password = #{password} where id = #{id} and deleteFlag = 0;
注:prefix prefixOverrides suffix suffixOverrides并非需要配套使用,可以任意组合或者单个使用,具体情况按实际需求
2.foreach
<select id="selectPostIn" resultType="domain.blog.Post"> SELECT * FROM POST P WHERE ID in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> </select>
相关推荐
以下是一些你应该了解的 Mybatis-Plus 使用技巧: 1. **条件查询**: - `QueryWrapper`:这是 Mybatis-Plus 提供的基本查询条件包装类,你可以通过调用它的各种方法(如 eq, ne, gt, lt 等)来设置 SQL 查询条件。...
《深入解析Mybatis-Plus与Java逆向工程实践》 Mybatis-Plus(简称MP)是Mybatis的一个扩展,它提供了许多便捷的...对于Java后端开发者来说,熟练掌握Mybatis-Plus和逆向工程技巧,无疑能提升项目开发的效率和质量。
你真的会写一手好SQL吗?你真的深入了解数据库吗?你真的对MYSQL很理解吗?来自一线大厂资深数据库开发工程师的分享,纯粹干货,值得拥有。
通过这些案例,可以清晰地看到Mybatis在处理特殊字符和进行复杂SQL语句编写时的各种转义方法和技巧。开发者应灵活运用这些技术,确保SQL语句的正确性及可读性。总之,正确处理Mybatis在Mapper.xml文件中的转义字符,...
在MyBatis中,处理集合参数如list、array以及map是非常常见的操作。这些参数通常用于构建动态SQL,特别是当需要在`IN`语句中使用多个值时。...通过熟练掌握这些技巧,开发者可以更高效地利用MyBatis进行数据库操作。
Mybatis 中 Oracle 的拼接模糊查询及用法是非常重要的知识点,本文详细介绍了拼接模糊查询的正确写法、技巧和错误排查。开发者可以根据实际情况选择合适的写法,以便更好地使用 Mybatis 实现 Oracle 数据库的查询...
本文将深入探讨MyBatis中的10种通用写法,这些技巧对于提升开发效率和代码可维护性至关重要。 1. **`<foreach>`标签**: - `foreach`标签用于循环遍历集合,并将其内容插入到SQL语句中。它的主要属性包括: - `...
在本例中,标题为“开题报告的写法指导,详细”,表明这是一个关于如何撰写开题报告的指南,旨在帮助学生或研究人员了解开题报告的各个要素和写作技巧。 描述中提到的“开题报告的写作指导,内容详尽,文档实用”,...
7. **实际项目中的适应性**:在实际项目中,可能需要根据数据库类型和具体需求调整分页SQL的写法,例如Oracle支持ROWNUM,而MySQL则可以使用LIMIT和OFFSET。 **优化技巧**: 1. **缓存**:对于不经常变动的数据,...