关闭

ibatis中 $与# 的区别

标签: ibatis
306人阅读 评论(0) 收藏 举报
分类:

在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区别为:

#可以进行数据类型匹配,而$不能进行数据类型匹配.

例如:

select * from table where id = #id# 其中如果字段id为字符型,那么#id#表示的就是字符型,如果id为整型,那么#id#就是整型.
select * from table where id = $id$ 其中如果字段id为整型,Sql语句就不会出错,但是如果字段id为字符型,那么Sql语句应该写成: select * from table where id = '$id$'
查询防注入用#,会导致底层使用PreparedStatement.
select * from table where id = #id#
等效于
prepareStement = stmt.createPrepareStement("select * from table where id = ?");
prepareStement.setString(1,'abc');
字符串拼接用$.
select * from $tableName$
等效于
StringBuffer sb = new StringBuffer(256);
sb.append("select * from").append(tableName);
sb.toString();
$: 用来标识Sql语法的一部分,比如: select * from $tablename$.
#: 用来标识Sql语句数据部分,比如: Oracle的绑定变量

转自:blog.csdn.net/maxracer/article/details/6863039

0
0
查看评论

ibatis中#和$符号的区别

ibatis中#和$符号的区别
  • geyouchao
  • geyouchao
  • 2016-07-04 10:49
  • 2633

ibatis中的#XX#和$XX$的区别。

在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如: select * from table where id = #id# ,其中如果字段id为字符型,那么#id#表示的就是&...
  • kingzma
  • kingzma
  • 2014-07-05 13:52
  • 871

Hibernate与Mybatis\ibatis的区别

本文转自:http://blog.csdn.NET/firejuly/article/details/8190229 看过之后感觉很好,转载到博客以后方便查看。 第一章     Hibernate与MyBatis Hibernate ...
  • rubyniurui
  • rubyniurui
  • 2017-03-08 15:37
  • 109

ibatis与mybatis区别,hibernate、mybatis、JDBC区别

ibatis与mybatis区别? ibatis是mybatis的前身,在2010年7\8月份ibatis所项目移到了google,就将ibatis3.x正式改名为mybatis3.x了。 除此之外,mybatis相比ibatis使用起来更加方便,有: 1)Mybatis实现了接口...
  • qq_21033663
  • qq_21033663
  • 2015-12-13 10:06
  • 8054

Hibernate与Ibatis比较

标签: hibernate和Ibatis比较 hibernate 是当前最流行的o/r mapping框架,它出身于sf.net,现在已经成为jboss的一部分了。 ibatis 是另外一种优秀的o/r mapping框架,目前属于apache的一个子项目了。  相对hib...
  • zongrongna
  • zongrongna
  • 2016-06-03 15:29
  • 2432

mybatis和ibatis的区别

前些时候一直在用ibatis做项目觉得用起来还是很舒服的至少来说用起来灵活不想hibernate那么死还经常出一些搞得人恶心的问题而且开发包还很多,hibernate我觉得还垃圾一点不好用。心血来潮在网上看了一下其实自己早就out了,人家ibatis都到3点几了而且还改了名字叫做mybatis。这个...
  • christgun
  • christgun
  • 2016-05-19 19:06
  • 5674

iBatis中#和$占位符的区别

iBatis中#和$占位符的区别
  • yeweiouyang
  • yeweiouyang
  • 2014-04-25 14:18
  • 1600

mybatis相对于ibatis的优势

2010年,apache的Ibatis框架停止更新,并移交给了google团队,同时更名为MyBatis。从2010年后Ibatis在没更新过,彻底变成了一个孤儿框架。一个没人维护的框架注定被mybatis拍在沙滩上。1. 入参无需用对象封装(或者map封装),使用@Param注解当Ibatis需要...
  • bruce128
  • bruce128
  • 2017-05-14 00:12
  • 1918

iBatis与MyBatis区别

出于对作者的尊重和感谢,原文地址为 http://www.geek521.com/?p=7861&utm_source=tuicool&utm_medium=referral Batis 框架的主要优势: 1、iBatis 封装了绝大多数的 JDBC 样板代...
  • sosfnima
  • sosfnima
  • 2016-07-22 11:25
  • 812

myBatis/iBatis常见面试题:#和$的区别

区别 第一: #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是123,那么解析成sql时的值为order by “123”, 如果传入的值是id,则解析成的sql为order by “id”第二:将传入的数据直接显示生成在sq...
  • u014359454
  • u014359454
  • 2017-04-18 01:51
  • 1477
    个人资料
    • 访问:71303次
    • 积分:996
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:100篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论