mybatis 动态拼接mysql语句
来源:互联网 发布:卖家农村淘宝签约好吗 编辑:程序博客网 时间:2024/06/08 14:37
问题描述
当传入的参数存在空时,在生成的mysql语句中,应该不存在,此时需要动态拼接mysql语句。
拼接方法 mybatis 的 trim 标签
下面是修改语句的拼接:
...<update id="updateUser" parameterType="com.spring.handlers.model.User"> UPDATE `user` <trim prefix="set" suffixOverrides=","> <if test="departmentId != null and departmentId != ''"> department_id = #{departmentId} , </if> <if test="userName != null and userName != ''"> username='${userName}', </if> <if test="password != null and password != ''"> password='${password}', </if> </trim> WHERE id = 1; </update> ...
利用trim标签,可以设置开头为 set ,和去掉末尾的逗号。
trim标签的属性:
prefix :前缀,在拼接语句前面加上的字段;
suffix:后缀,在拼接语句后加上的字段;
prefixOverrides :前缀忽略,可以把包含内容的首部某些内容覆盖,即忽略;
suffixOverrides:后缀忽略,将内容最后的内容忽略。
换一种写法: set 标签
<update id="updateUserTwo" parameterType="com.spring.handlers.model.User"> UPDATE `user` <set> <if test="departmentId != null and departmentId != ''"> department_id = #{departmentId} , </if> <if test="userName != null and userName != ''"> username='${userName}', </if> <if test="password != null and password != ''"> password='${password}', </if> </set> WHERE id = #{id}; </update>
这段代码,跟上面trim实现的功能是一样的。自己体会。
阅读全文
0 0
- mybatis 动态拼接mysql语句
- Mybatis动态拼接if语句
- Mybatis动态拼接SQL
- Mybatis动态拼接SQL
- MyBatis动态拼接SQL
- Mybatis动态拼接sql
- mybatis+0+null--------------mybatis中stutas==0是sql动态语句拼接问题
- Mysql语句拼接
- Mybatis之SQL语句拼接
- Mybatis拼接Sql语句异常
- MyBatis 向Sql语句中动态传参数·动态SQL拼接
- Mybatis的动态拼接条件
- Mybatis的动态拼接条件
- MyBatis 模糊查询-拼接SQL语句
- mybatis批量删除的sql语句拼接
- mybatis动态SQL语句
- mybatis动态SQL语句
- mybatis动态SQL语句
- 抽取dao!java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType问题出现原因
- 由JVM引发的思考_基本结构
- [bzoj1013]:[JSOI2008]球形空间产生器sphere
- 自动化测试模型
- javascript-2
- mybatis 动态拼接mysql语句
- Intellij IDEA + Gradle 搭建Spring源代码环境
- 学习笔记_python_python编程从入门到实践3.0
- 算两个时间相差的分钟数
- UE4实现纹理不随物体缩放(WorldAlignedTexture)
- 分类模型与算法--朴素贝叶斯
- win10+cpu+caffe搭建
- Jackson 框架,轻易转换JSON (包括时间转换)
- 面向对象--继承