文档章节

mybatis之<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>

韩毅Evan
 韩毅Evan
发布于 2017/07/03 19:57
字数 285
阅读 18
收藏 0

1.<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>

prefix:在trim标签内sql语句加上前缀。

suffix:在trim标签内sql语句加上后缀。

suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。

prefixOverrides:指定去除多余的前缀内容

2.下面是一个往购物车表中插入数据的mybatis语句

<insert id="insert" parameterType="com.tortuousroad.groupon.cart.entity.Cart">  
        insert into cart  
        <trim prefix="(" suffix=")" suffixOverrides=",">  
            <if test="id != null">  
                id,  
            </if>  
            <if test="userId != null">  
                user_id,  
            </if>  
            <if test="dealId != null">  
                deal_id,  
            </if>  
            <if test="dealSkuId != null">  
                deal_sku_id,  
            </if>  
            <if test="count != null">  
                count,  
            </if>  
            <if test="createTime != null">  
                create_time,  
            </if>  
            <if test="updateTime != null">  
                update_time,  
            </if>  
        </trim>  
        <trim prefix="values (" suffix=")" suffixOverrides=",">  
            <if test="id != null">  
                #{id,jdbcType=BIGINT},  
            </if>  
            <if test="userId != null">  
                #{userId,jdbcType=BIGINT},  
            </if>  
            <if test="dealId != null">  
                #{dealId,jdbcType=BIGINT},  
            </if>  
            <if test="dealSkuId != null">  
                #{dealSkuId,jdbcType=BIGINT},  
            </if>  
            <if test="count != null">  
                #{count,jdbcType=INTEGER},  
            </if>  
            <if test="createTime != null">  
                #{createTime,jdbcType=TIMESTAMP},  
            </if>  
            <if test="updateTime != null">  
                #{updateTime,jdbcType=TIMESTAMP},  
            </if>  
        </trim>  
    </insert>  

假设没有指定

suffixOverrides="," 

执行的sql语句也许是这样的:insert into cart (id,user_id,deal_id,) values(1,2,1,);显然是错误的

指定之后语句就会变成insert into cart (id,user_id,deal_id) values(1,2,1);这样就将“,”去掉了。

前缀也是一个道理这里就不说了。

 

© 著作权归作者所有

韩毅Evan
粉丝 2
博文 49
码字总数 67347
作品 0
南京
私信 提问
【每日学习Mybatis中基础】trim标签使用

1、trim基础 trim标签的四个属性 prefix(前缀),prefixOverrides(去掉第一个and或者是or),suffix(后缀),suffixOverrides(去掉最后一个) 1.1、prefix,suffix 表示在trim标签包裹的...

卯金刀GG
2018/05/24
35
0
MyBatis动态SQL之 set 和 trim标记的使用示例

和之前的where一样,set和trim也是智能标记 在之前的user.xml中添加 再在测试代码的try中添加 运行,执行的SQL语句是 update User SET userName=?, password=? where id=? set 自动识别并把s...

IT-Mamba
2015/08/24
15K
2
好程序员Java分享Mybatis必会的动态SQL

好程序员Java分享Mybatis必会的动态SQL,前言: Mybatis可谓是java开发者必须会的一项技能。MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到...

好程序员IT
06/17
42
1
myBatis --(5)动态sql

动态sql是myBatis中相当有用的一个知识点,总体来说,动态sql有如下几类: 1>if语句(简单的条件判断) 2>choose(相当于case when),即C语言中的switth 3>trim(对包含的内容加上prefix(前缀)、...

求是科技
2015/11/02
70
0
关于Mybatis中SQL语句的整理

随着业务的发展,越来越多的应用系统都从一个大的系统分拆成多个小的系统,各个系统之间通过一定的通信协议进行数据交换。这样就会导致一些小的应用系统自己不用去进行数据库的操作,只需要进...

glmapper
2018/10/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

总结:Linux

1、目录 目录 作用 2、/etc/init.d/ /etc/init.d/这个目录下面存放着很多的服务程序(当然都是可执行的)。 由于mysql服务也在里面,即mysqld 因此想启动mysql服务,执行下面的命令: /etc/i...

浮躁的码农
2分钟前
1
0
什么是 happens-before 原则?

Java 中 happens-before 原则,是在 JSR-133 中提出的。 原文摘要: • Each action in a thread happens-before every subsequent action in that thread. • An unlock on a monitor happe......

ConstXiong
15分钟前
3
0
8核AMD Zen加持:微软Surface这回血拼

微软定于10月2日在纽约举办Surface新品发布会,几乎全线消费级产品都将更新,比如15英寸Surface Laptop 3。 最新爆料称,15寸Surface Laptop 3预计一口气推出6款型号,其中顶配为8核AMD处理器...

linuxCool
15分钟前
1
0
BeginnersBook MongoDB 教程

来源:ApacheCN BeginnersBook 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并...

ApacheCN_飞龙
17分钟前
3
0
Java NIO:Buffer、Channel 和 Selector

本文将介绍 Java NIO 中三大组件 Buffer、Channel、Selector 的使用。 本来要一起介绍非阻塞 IO 和 JDK7 的异步 IO 的,不过因为之前的文章真的太长了,有点影响读者阅读,所以这里将它们放到...

乱世当空
18分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部