在sql配置中比如in(#rewr#) 与in ($rewr$)
在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如:
select * from table where id = #id# ,其中如果字段id为字符型,那么#id#表示的就是'id'类型,如果id为整型,那么#id#就是id类型。
select * from table where id = $id$ ,如果字段id为整型,Sql语句就不会出错,但是如果字段id为字符型,那么Sql语句应该写成 select * from table where id = '$id$'
$ 的作用实际上是字符串拼接,
select * from $tableName$
等效于
StringBuffer sb = new StringBuffer(256);
sb.append("select * from ").append(tableName);
sb.toString();
#用于变量替换
select * from table where id = #id#
等效于
prepareStement = stmt.createPrepareStement("select * from table where id = ?")
prepareStement.setString(1,'abc');
------------------------------------------------
说道这里, 总结一下, 什么时候用$,什么时候 用 #
对于变量部分, 应当使用#, 这样可以有效的防止sql注入, 未来,# 都是用到了prepareStement,这样对效率也有一定的提升
$只是简单的字符拼接而已,对于非变量部分, 那只能使用$, 实际上, 在很多场合,$也是有很多实际意义的
例如
select * from $tableName$ 对于不同的表执行统一的查询
update $tableName$ set status = #status# 每个实体一张表,改变不用实体的状态
特别提醒一下, $只是字符串拼接, 所以要特别小心sql注入问题。
分享到:
相关推荐
ibatis中 $ 于 # 的 区别 ibatis中 $ 于 # 的 区别
ibatis中输入输出各种类型的参数分析及#与$区别
选用ibatis和hibernate的区别选用ibatis和hibernate的区别选用ibatis和hibernate的区别
iBatis和Hibernate的区别
描述了ibatis与hibernate的主要区别
自己总结的myBatis和ibatis的区别
在里面总结了ibatis和mybatis的主要区别,包括xml文件等
iBATIS的是一个持久层框架,它能够自动在 Java, .NET, 和Ruby on Rails中与SQL数据库和对象之间的映射。映射是从应用程序逻辑封装在XML配置文件中的SQL语句脱钩。 iBATIS是一个轻量级的框架和持久性API适合持久化的...
myibatis笔记,myibatis3.2版本与ibatis2.3版本的区别
ibatas的sql语句需要自己手动写,而hibernate能够在程序运行时自动生成。但是不要就这样以为hibernate比ibatas方便,其实二者熟悉之后的效率差不多。而hibernate还能够自动建表等等,这样的好处就在于你带着这个程序...
书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。书的最后给出了一个设计优雅、层次清晰的示例程序JGameStore,该示例涵盖全书的...
ibatis与hibernate区别,之中包括,现在企业为什么选择ibatis而放弃hibernate的选择,所有这里吧自由选择及。
上一个版本是结合当前流行的主流框架,今天这个抛开了mybatis这个持久层框架,选择了ibatis作为我的...其实mybatis和ibatis的区别不是很大,配置也只是一点小区别。框架搭好了,需要的自己可以往里面添加业务逻辑
主要描述的是hibernate和ibatis的区别,在什么时候使用hibernate比较好
Ibatis Hibernate 分析 比较 区别
ibatis与hibernate的区别.很经典的
ibatis spring的整合快速开发 使用ibatis 和hibernate的区别
用ibatis的原因 jdbc、hibernate、ibatis的区别 spring+ibatis
介绍了IBATIS在开发过程中的使用步骤,配置文件的介绍,以及与HIBERNATE之间的区别等
ibatis和hibernate相比较, 做了一个整理, 包括他们的配置, 配置文件的编写.