UPDATE CHUNQIU3.order_head t SET t.status = #flag# WHERE t.id in (#orderIds#)
传递的id为2488877,2488878,2488879。但是数据却没有任何的修改。
因为iBATIS默认会把“#”中间的变量作为字符串来处理。这样,就会出现这样的SQL
UPDATE CHUNQIU3.order_head t SET t.status = 1 WHERE t.id in ('2488877,2488878,2488879')
所以使用$将你的变量括起来,iBATIS不会给这个变量做任何的处理,直接生成你要的SQL
UPDATE CHUNQIU3.order_head t SET t.status = $flag$ WHERE t.id in ($orderIds$)
UPDATE CHUNQIU3.order_head t SET t.status = 1 WHERE t.id in (2488877,2488878,2488879)