Mybatis之<trim prefix=““ suffix=““ suffixOverrides=““ prefixOverrides=““></trim>
1.说明 <trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim> prefix:在trim标签内sql语句加上前缀。 suffix:在trim标签内sql语句加上后缀。 prefixOverrides:指定去除多余的前缀内容 suffixOverrides:指定去除多余的后缀内
·
1.说明
<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>
prefix:在trim标签内sql语句加上前缀。
suffix:在trim标签内sql语句加上后缀。
prefixOverrides:指定去除多余的前缀内容
suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。
2.示例
在本示例中,因为在后面有三个字段,所以前面的都可加上逗号,也不会出现问题。
如果没有这三个字段,前面第几个开始不加逗号,说不准,这个时候,就需要使用suffixOverrides去除。
<insert id="insertDto" parameterType="cn.com.bidcenter.security.insertDto">
insert into T_SRV_DEMO
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test = "id != null" >
C_ID,
</if>
<if test = "warnType != null" >
WARN_TYPR,
</if>
<if test = "crowdLable != null" >
CROWD,
</if>
<if test = "handleWay != null" >
WAY,
</if>
<if test = "warnContent != null" >
MSG,
</if>
<if test = "areaType != null" >
GEOM_TYPE,
</if>
<if test = "spaceLocal != null" >
GEOM,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test = "id != null" >
#{id},
</if>
<if test = "warnType != null" >
#{warnType},
</if>
<if test = "crowdLable != null" >
#{crowdLable},
</if>
<if test = "handleWay != null" >
#{handleWay},
</if>
<if test = "warnContent != null" >
#{warnContent},
</if>
<if test = "areaType != null" >
#{areaType},
</if>
<if test = "spaceLocal != null" >
#{spaceLocal},
</if>
</trim>
</insert>
3.另外说明
useGeneratedKeys="true" keyProperty="id"
当我们insert时,返回剛剛新增的id,可以加上上面的两个属性。
主要是在主键是自增的情况下,添加成功后可以直接使用主键值,其中keyProperty的值是对象的属性值,不是数据库表中的字段名
但是,需要有一些注意:
Long save = mcsContractBillTermRecordMapper.save(mcsContractBillTermRecord);
这个save是新增的个数,那新增id返回值在哪里呢,在mcsContractBillTermRecord中,可以用Integer来存
更多推荐
已为社区贡献6条内容
所有评论(0)