比如:
sql 代码
-
select * from member where id =#id#
然后,我们会在程序中给id这个变量传递一个值,iBATIS会自动将#id#转成我们传递的内容。
但是我最近碰到一个奇怪的问题。我在批量删除或修改的时候,居然SQL失效了。
SQL如下:
sql 代码
-
update user set flag=#flag# where id in (#id#)
-
-
delete from user where id in (#id#)
传递的id为1,2,3。但是数据却没有任何的修改。
后来查找了半天,原来原因就是这个#的问题。因为iBATIS默认会把“#”中间的变量作为字符串来处理。这样,就会出现这样的SQL
sql 代码
-
update user set flag='1' where id in ('1,2,3')
-
-
delete from user where id in ('1,2,3')
这样的SQL数据库当然是不会执行的。那我们只有绕开iBATIS了吗?
其实不用,iBATIS其实还提供了另外一种方式,那就是使用$来传递值。你使用$将你的变量括起来,iBATIS不会给这个变量做任何的处理,直接生成你要的SQL
sql 代码
-
update user set flag=$flag$ where id in ($id$)
-
-
update user set flag=1 where id in (1,2,3)
-
-
delete from user where id in ($id$)
-
-
delete from user where id in (1,2,3)
ibatis取sequence值
<select id="getNextValue" parameterClass="java.lang.String" resultClass="java.lang.Long">
select SEQ_$seqName$.NEXTVAL from dual
</select>
public Long getNextValue(String seqName) {
return (Long) sqlMapClientTemplate.queryForObject("base.getNextValue",seqName);
}
分享到:
相关推荐
ibatis中输入输出各种类型的参数分析及#与$区别
ibatis中 $ 于 # 的 区别 ibatis中 $ 于 # 的 区别
ibatis sql语句对条件中特殊字符% # 处理
操作数据库 iBATIS查询,java 和spring的配置方法
ibatis学习 ibatis总结 ibatis ibatis ibatis
虽然ibatai sql map可以配置多个参数,但sqlMap只能传入一个参数,我们有两种方式,一是把我们的参数封装成一个类,通过set/get取值的方式给sql map注入参数,二是通过hashMap(可以组合一些不是同一个pojo的参数有...
ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料
ibatis demo,ibatis例子,ibatis示例
mybatis和ibatis总体来讲都差不多的。下面小编给大家探讨下mybatis中#{}和${}的区别,感兴趣的朋友一起学习吧
iBATIS 级联iBATIS 级联iBATIS 级联
iBatis和Spring整合 iBatis和Spring整合
ibatis的原码 ibatis源码 ibatis源码 ibatis源码
该问题对初学者很有提示性帮助,里面主要是个人对ibatis的##的认识
但正如Spring A Developer's Notebook作者Bruce Tate 和Justin Gehtland所说的那样,与其他的OR框架相比,iBATIS独辟蹊径“iBATIS不是试图从根本上掩盖SQL,实际上,它是在拥抱SQL。” <br>但别犯愁:SQL本身具备...
其中包含iBatis精讲PDF iBatis实例 iBatis开发指南 iBatis分页 spring+iBatis处理1对多数据表实例等等若干帮助文档。希望可以帮助大家学习iBatis...
书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。《iBATIS实战》的最后给出了一个设计优雅、层次清晰的示例程序JGameStore,该...
ibatis代码自动生成,ibatis代码自动生成,ibatis代码自动生成,ibatis代码自动生成
iBatis和Hibernate的区别
Ibatis3,手册,Ibatis3手册,Ibatis3使用手册,Ibatis3参考手册
Ibatis.net学习和实例Ibatis.net学习和实例Ibatis.net学习和实例Ibatis.net学习和实例