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

转自:http://blog.csdn.net/qq_33054511/article/details/70490046

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

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

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

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

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

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

  1. <insert id="insert" parameterType="com.tortuousroad.groupon.cart.entity.Cart">
  2. insert into cart
  3. <trim prefix="(" suffix=")" suffixOverrides=",">
  4. <if test="id != null">
  5. id,
  6. </if>
  7. <if test="userId != null">
  8. user_id,
  9. </if>
  10. <if test="dealId != null">
  11. deal_id,
  12. </if>
  13. <if test="dealSkuId != null">
  14. deal_sku_id,
  15. </if>
  16. <if test="count != null">
  17. count,
  18. </if>
  19. <if test="createTime != null">
  20. create_time,
  21. </if>
  22. <if test="updateTime != null">
  23. update_time,
  24. </if>
  25. </trim>
  26. <trim prefix="values (" suffix=")" suffixOverrides=",">
  27. <if test="id != null">
  28. #{id,jdbcType=BIGINT},
  29. </if>
  30. <if test="userId != null">
  31. #{userId,jdbcType=BIGINT},
  32. </if>
  33. <if test="dealId != null">
  34. #{dealId,jdbcType=BIGINT},
  35. </if>
  36. <if test="dealSkuId != null">
  37. #{dealSkuId,jdbcType=BIGINT},
  38. </if>
  39. <if test="count != null">
  40. #{count,jdbcType=INTEGER},
  41. </if>
  42. <if test="createTime != null">
  43. #{createTime,jdbcType=TIMESTAMP},
  44. </if>
  45. <if test="updateTime != null">
  46. #{updateTime,jdbcType=TIMESTAMP},
  47. </if>
  48. </trim>
  49. </insert>

假设没有指定

  1. 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);这样就将“,”去掉了。

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

原文地址:https://www.cnblogs.com/YLQBL/p/8182335.html

时间: 2024-08-30 17:18:17

mybatis之<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>的含义的相关文章

Mybatis中的update动态SQL语句 &lt;trim&gt;&lt;/trim&gt; 用法

Mybatis Mapper中文件中 update时,需要set设置多个字段,有时逗号处理时,会报错误,所以会使用到<trim></trim> 使用trim就是为了删掉最后字段的",". 主要不用单独写SET了,因为set被包含在trim中了: <update id="update" parameterType="com.entity.Entity"> <trim prefix="set&quo

mybatis中的几个注意的地方

1.首先定义一个sql标签,一定要定义唯一id<sql id="Base_Column_List" >name,age</sql>2.然后通过id引用<select id="selectAll">select <include refid="Base_Column_List" /> from student</select>这个<include refid="Base_C

Mybatis中运用小技巧 trim标签的使用

作者:death05的博客推荐:路在脚下trim元素的主要功能是可以在自己包含的内容钱加上某些前缀,也可以在其后加上某写后缀,与之对应的属性是prefix和suffix: 可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,对应的属性是prefixOverrides和suffixOverrides.以下举例: 1.代码为: select * from user <trim prefix="WHERE" prefixoverride="AND |OR&q

Mybatis trim 标签使用--insert

trim元素的主要功能是可以在自己包含的内容前加上某些前缀,也可以在其后加上某些后缀,与之对应的属性是prefix和suffix:可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,对应的属性是prefixOverrides和suffixOverrides: <insert id="operatorLog" parameterType="com.oa.model.wxlog.WxLog"> INSERT INTO sdb_oa_oper

mybatis mapper文件里的&lt;set&gt;&lt;trim&gt;

简单介绍:翻看以前在学校写的代码,发现那时候有一个sql写的很有意思,用到了 <set>标签,和我现在写的虽然有点差别,但是效果一样 代码: //mapper里的sql <update id="updateEvent" parameterType="map"> update event <set> <if test="title!=null and title!=''"> title=#{title

mybatis标签之——&lt;trim&gt;

https://www.cnblogs.com/zjfjava/p/8882614.html trim标记是一个格式化的标记,主要用于拼接sql的条件语句(前缀或后缀的添加或忽略),可以完成set或者是where标记的功能. trim属性主要有以下四个  prefix:前缀覆盖并增加其内容  suffix:后缀覆盖并增加其内容  prefixOverrides:前缀判断的条件  suffixOverrides:后缀判断的条件 例如在update中 <update id="updateByP

insertSql语句中的trim标签的使用

insert into MB_BATCH_DIS_DETAILS    <trim prefix="(" suffix=")" suffixOverrides=",">      <if test="batchNo != null">        BATCH_NO,      </if>      <if test="seqNo != null">     

mybatis单表操作实现完全java代码封装

之前在项目中用到mybtis操作数据库时都是手动写sql,对于我这种sql水平不是很好地人来说痛苦死了:动态查询的sql我表示到现在还不会写呀! 还好,利用数据库表反向生成的工具可以帮我解决大部分的sql;(mybatis generator 你懂的) 首先利用反向生成可以帮我们自动生成实体类,dao接口,dao映射文件: 在dao映射文件如下所示: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE

SpringMVC,MyBatis商品的增删改查

一.需求 商品的增删改查 二.工程结构 三.代码 1.Mapper层 (1) ItemsMapperCustom.java 1 package com.tony.ssm.mapper; 2 3 import java.util.List; 4 5 import com.tony.ssm.po.ItemsCustom; 6 import com.tony.ssm.po.ItemsQueryVo; 7 8 public interface ItemsMapperCustom { 9 //商品查询列表