trim标记是一个格式化的标记,可以完成set或者是where标记的功能,如下代码:

  1、

  select * from user

  <trim prefix="WHERE" prefixoverride="AND |OR">

    <if test="name != null and name.length()>0"> AND name=#{name}</if>

    <if test="gender != null and gender.length()>0"> AND gender=#{gender}</if>

  </trim>

  假如说name和gender的值都不为null的话打印的SQL为:select * from user where    name = 'xx' and gender = 'xx'

  在红色标记的地方是不存在第一个and的,上面两个属性的意思如下:

  prefix:前缀      

  prefixoverride:去掉第一个and或者是or

  在prefixOverrrides 、suffixOverrides中都可以指定多个值,用 | 来分隔

  2、

  update user

  <trim prefix="set" suffixoverride="," suffix=" where id = #{id} ">

    <if test="name != null and name.length()>0"> name=#{name} , </if>

    <if test="gender != null and gender.length()>0"> gender=#{gender} ,  </if>

  </trim>

  假如说name和gender的值都不为null的话打印的SQL为:update user set name='xx' , gender='xx'     where id='x'

  在红色标记的地方不存在逗号,而且自动加了一个set前缀和where后缀。

  上面三个属性的意义如下,其中prefix意义如上:

  suffix:后缀

  suffixoverride:去掉最后一个逗号(也可以是其他的标记,就像是上面前缀中的and一样)

转载于:https://www.cnblogs.com/yerikm/p/6409580.html

mybatis动态sql中的trim标签的使用相关推荐

  1. mybatis动态sql中的where标签的使用

    From: https://blog.csdn.net/wobuaizhi/article/details/81874664 在使用mybatis的动态sql时,有时候遇到根据条件判断添加where后 ...

  2. Mybatis动态sql中的foreach标签的使用

    foreach 标签一般用于遍历集合,构建in条件语句或者批量操作语句 <insert id="batchSave" parameterType="java.uti ...

  3. mybatis动态sql中where标签的使用

    where标记的作用类似于动态sql中的set标记,他的作用主要是用来简化sql语句中where条件判断的书写的,如下所示: <select id="selectByParams&qu ...

  4. Mybatis 动态sql语句(if标签和where标签)

    功能:根据性别和名字查询用户 查询sql语句: SELECT id, username, birthday, sex, address FROM `user` WHERE sex = 1 AND us ...

  5. mybatis动态sql中的if、where、choose、trim、foreach方法

    mybatis笔记03 1.动态sql语句–>sql拼接 1.1 if方法 相当于el表达式中的if(){}语句 参数类型不同,if标签中test的参数是怎么说明的呢? 1)如果参数的类型是数字 ...

  6. 使用动态SQL中的if标签做条件判断的几种用法和注意点

    使用中踩到的坑记录一下(大神请略过,我只是个菜菜,忽喷!!!万分感谢!!!) <mapper namespace="dynamic"><resultMap id= ...

  7. 详解mybatis动态SQL

    什么是动态SQL? 动态 SQL 是 MyBatis 的强大特性之一.顾名思义,就是会动的SQL,即是能够灵活的根据某种条件拼接出完整的SQL语句.这种类似于MySQL中的 case when the ...

  8. MyBatis——动态SQL语句——if标签和where标签复合使用

    功能需求 根据性别和名字查询用户 官方文档 MyBatis--动态 SQL SQL语句 SELECT id, username, birthday, sex, address FROM `user` ...

  9. mybatis动态SQL多条件查询1 - if 标签

    Mybatis框架的动态SQL技术是一种根据特定条件动态拼接SQL语句的过程.它的存在是为了解决拼接SQL语句字符串的痛点问题.创建新的Mapper接口和新的mapper映射文件. 目录 1.创建Dy ...

最新文章

  1. 盖尔-沙普利算法_盖尔定律-及其与初创企业的关系
  2. vue配置文件读取_Vue+Spring Boot简单用户登录Demo实现
  3. LC_ALL=C表示什么?
  4. 20080823-jsp中include指令与动作的不同
  5. 好看的极简网站导航源码自适应静态页
  6. 教你在Yii2.0框架中如何创建自定义小部件
  7. 50-20-190-配置-Flink 配置文件详解-flink-conf.yaml
  8. hihocoder1033交错和
  9. error: invalid new-expression of abstract class type 'Rectangle'
  10. 浅谈:如何加快本本的开机时间
  11. go定时读取mysql_Windows下MySQL定时备份脚本-Go语言中文社区
  12. python写斗地主游戏_基于python的简单斗地主实现-Go语言中文社区
  13. 计算机一级插入页眉,计算机一级考试,设置页眉为“汉字的交换码”
  14. UEFI开发之应用开发
  15. 美国华盛顿警察局被敲诈勒索,怎样抵御新型勒索攻击?
  16. vivo手机安装应用提示未安装
  17. 网易邮箱客户端服务器设置
  18. Java常用API——学习笔记(7)
  19. 识别各种安全设备及当今体现形态-区别UTM与NGFW
  20. 程序化那么神秘,究竟在做什么事情

热门文章

  1. 3.1 A Historical Perspective 历史观点
  2. Javascript年月日联动
  3. git 覆盖本地修改_Git拉力–如何使用Git覆盖本地更改
  4. 大学可以学前端开发_所有开发人员在大学中应该学习的东西
  5. 数据结构显示树的所有结点_您需要了解的有关树数据结构的所有信息
  6. 创建新的apple id_Google是新的Apple吗?
  7. leetcode--最小路径和--python
  8. Python 程序如何高效地调试?
  9. 自定义Chrome浏览器
  10. Sass函数:Sass Maps的函数-map-has-key($map,$key)