mybatis动态sql中的trim标签的使用
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标签的使用相关推荐
- mybatis动态sql中的where标签的使用
From: https://blog.csdn.net/wobuaizhi/article/details/81874664 在使用mybatis的动态sql时,有时候遇到根据条件判断添加where后 ...
- Mybatis动态sql中的foreach标签的使用
foreach 标签一般用于遍历集合,构建in条件语句或者批量操作语句 <insert id="batchSave" parameterType="java.uti ...
- mybatis动态sql中where标签的使用
where标记的作用类似于动态sql中的set标记,他的作用主要是用来简化sql语句中where条件判断的书写的,如下所示: <select id="selectByParams&qu ...
- Mybatis 动态sql语句(if标签和where标签)
功能:根据性别和名字查询用户 查询sql语句: SELECT id, username, birthday, sex, address FROM `user` WHERE sex = 1 AND us ...
- mybatis动态sql中的if、where、choose、trim、foreach方法
mybatis笔记03 1.动态sql语句–>sql拼接 1.1 if方法 相当于el表达式中的if(){}语句 参数类型不同,if标签中test的参数是怎么说明的呢? 1)如果参数的类型是数字 ...
- 使用动态SQL中的if标签做条件判断的几种用法和注意点
使用中踩到的坑记录一下(大神请略过,我只是个菜菜,忽喷!!!万分感谢!!!) <mapper namespace="dynamic"><resultMap id= ...
- 详解mybatis动态SQL
什么是动态SQL? 动态 SQL 是 MyBatis 的强大特性之一.顾名思义,就是会动的SQL,即是能够灵活的根据某种条件拼接出完整的SQL语句.这种类似于MySQL中的 case when the ...
- MyBatis——动态SQL语句——if标签和where标签复合使用
功能需求 根据性别和名字查询用户 官方文档 MyBatis--动态 SQL SQL语句 SELECT id, username, birthday, sex, address FROM `user` ...
- mybatis动态SQL多条件查询1 - if 标签
Mybatis框架的动态SQL技术是一种根据特定条件动态拼接SQL语句的过程.它的存在是为了解决拼接SQL语句字符串的痛点问题.创建新的Mapper接口和新的mapper映射文件. 目录 1.创建Dy ...
最新文章
- 盖尔-沙普利算法_盖尔定律-及其与初创企业的关系
- vue配置文件读取_Vue+Spring Boot简单用户登录Demo实现
- LC_ALL=C表示什么?
- 20080823-jsp中include指令与动作的不同
- 好看的极简网站导航源码自适应静态页
- 教你在Yii2.0框架中如何创建自定义小部件
- 50-20-190-配置-Flink 配置文件详解-flink-conf.yaml
- hihocoder1033交错和
- error: invalid new-expression of abstract class type 'Rectangle'
- 浅谈:如何加快本本的开机时间
- go定时读取mysql_Windows下MySQL定时备份脚本-Go语言中文社区
- python写斗地主游戏_基于python的简单斗地主实现-Go语言中文社区
- 计算机一级插入页眉,计算机一级考试,设置页眉为“汉字的交换码”
- UEFI开发之应用开发
- 美国华盛顿警察局被敲诈勒索,怎样抵御新型勒索攻击?
- vivo手机安装应用提示未安装
- 网易邮箱客户端服务器设置
- Java常用API——学习笔记(7)
- 识别各种安全设备及当今体现形态-区别UTM与NGFW
- 程序化那么神秘,究竟在做什么事情
热门文章
- 3.1 A Historical Perspective 历史观点
- Javascript年月日联动
- git 覆盖本地修改_Git拉力–如何使用Git覆盖本地更改
- 大学可以学前端开发_所有开发人员在大学中应该学习的东西
- 数据结构显示树的所有结点_您需要了解的有关树数据结构的所有信息
- 创建新的apple id_Google是新的Apple吗?
- leetcode--最小路径和--python
- Python 程序如何高效地调试?
- 自定义Chrome浏览器
- Sass函数:Sass Maps的函数-map-has-key($map,$key)