当前位置: 代码迷 >> SQL >> ibatis中书写SQL语句时使用in遇到的有关问题
  详细解决方案

ibatis中书写SQL语句时使用in遇到的有关问题

热度:192   发布时间:2016-05-05 15:20:44.0
ibatis中书写SQL语句时使用in遇到的问题

update user set flag=#flag# where id in (#id#)

传递的id为1,2,3。但是数据却没有任何的修改。

因为iBATIS默认会把“#”中间的变量作为字符串来处理。这样,就会出现这样的SQL

update user set flag='1' where id in ('1,2,3')??

所以使用$将你的变量括起来,iBATIS不会给这个变量做任何的处理,直接生成你要的SQL

update user set flag=$flag$ where id in ($id$)

update user set flag=1??where id in (1,2,3)??

?

  相关解决方案