报答歌词update #{tableName} t iobsolete = 1,update_date = #{date} where reg_id in<foreach item="id" collection="ids" parator="," " />

报答歌词update #{tableName} t iobsolete = 1,update_date = #{date} where reg_id in<foreach item="id" collection="ids" parator=",""/>

Mybatis动态sql的动态表名问题

更新时间:2023-06-05 06:55:47 阅读: 评论:0

网卡多少钱一个月
Mybatis动态sql的动态表名问题
<update id="obsoleteWeigh">猪心的营养价值>报答歌词
update #{tableName} t iobsolete = 1,update_date = #{date} where reg_id in
<foreach item="id" collection="ids" parator="," open="(" clo=")" index="">
龙之谷时装#{id}
</foreach>
</update>
  ⼀开始这样写的sql,sql语句的表名会有引号,导致sql报错,需要想办法去掉#{tableName}的引号。查了半天发现mybatis的update标签有个属性:statementTyp
  把statementType的值设为STATEMENT后,我们需要注意sql⾥的参数如 #{tableName}、#{date} 都需要改为${},不然⽆法把参数
拼接上去。
  做完这些⼯作之后,我们需要注意的是,我们传的参数值(除去表名、表字段)的引号也被去掉了,我们需要在给参数加上引号,此时
我们可以使⽤转义符:' 是单引号,
值得注意的是:
过年手抄报图片  (1)转义序列字符之间不能有空格;
  (2) 转义序列必须以”;”结束;
  (3) 单独出现的”&”不会被认为是转义的开始;
  (4) 区分⼤⼩写。
  最终⼀个正确的表名动态的sql为:
<update id="obsoleteWeigh" statementType="STATEMENT">
update ${tableName} t iobsolete = 1,update_date = '${date}' where reg_id in
<foreach item="id" collection="ids" parator="," open="(" clo=")" index="">
竞技大赛'${id}'
</foreach>
图片英文
健康投资</update>

本文发布于:2023-06-05 06:55:47,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/869293.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:需要   表名   引号   动态
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图