• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mybatis框架xml下trim中的prefix与suffix等标签的用法

java 搞代码 4年前 (2022-01-05) 27次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章主要介绍了mybatis框架xml下trim中的prefix与suffix等标签的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

trim中prefix与suffix等标签用法

1.prefix 前缀增加的内容

2.suffix 后缀增加的内容

3.prefixOverrides 前缀需要覆盖的内容,一般是第一个判断条件前面的多余的结构,如:第一个判断条件前面多了 ‘and’

 select * from User where name='zhangsan' and age='20';
  select * from User   name = #{name}  and age = #{age} 

第一个条件前面没有任何符号,第二个条件要加上and,否则sql语句会报错。很理想的状态是第一个和第二个都有值,但是既然判断,说明也可能会没有值,当第一个name没有值的时候,这个时候sql语句就会是 select * from User where and age=”,很明显这个sql语句语法存在问题。

在这里标签属性prefixOverrides就起作用了,它会让前缀where覆盖掉第一个and。覆盖之后的是:select * from User where age=”;

4.suffixOverrides 后缀需要覆盖的内容,一般是最后一个数据的后面符号,如:set值的时候,最后一个值的后面多一个逗号‘,’

  insert into salary   id,  basicSalary,  bonus,  lunchSalary,  trafficSalary,  name,   #{id,jdbcType=INTEGER},  #{basicSalary,jdbcType=INTEGER},  #{bonus,jdbcType=INTEGER},  #{lunchSalary,jdbcType=INTEGER},  #{trafficSalary,jdbcType=INTEGER},  #{name,jdbcType=VARCHAR}, 

加了suffixOverrides=”,”

结果:

 insert into salary (id,basicSalary,bonus,lunchSalary,trafficSalary,name) values (#{id},#{basicSalary},#{bonus},#{lunchSalary},#{trafficSalary},#{name})

不加suffixOverrides=”,”

结果:

 insert into salary (id,basicSalary,bonus,lunchSalary,trafficSalary,name,) values (#{id},#{basicSalary},#{bonus},#{lunchSalary},#{trafficSalary},#{name},)

加了suffixOverrides=”,”的话,本例中最后一个条件中的逗号“,”会被后缀覆盖掉

mybatis之 trim prefix=”(” suffix=”)”

1.如下所示

 

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

suffi

来源gaodai^.ma#com搞#代!码网

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

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

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

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

  insert into cart   id,  user_id,  deal_id,  deal_sku_id,  count,  create_time,  update_time,   #{id,jdbcType=BIGINT},  #{userId,jdbcType=BIGINT},  #{dealId,jdbcType=BIGINT},  #{dealSkuId,jdbcType=BIGINT},  #{count,jdbcType=INTEGER},  #{createTime,jdbcType=TIMESTAMP},  #{updateTime,jdbcType=TIMESTAMP}, 
 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);这样就将“,”去掉了。

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

以上就是mybatis框架xml下trim中的prefix与suffix等标签的用法的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mybatis框架xml下trim中的prefix与suffix等标签的用法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址