`

mybatis/ibatis ${}与#{}的区别

阅读更多
1. #id# / $id$
    ibatis比较老的版本使用方式,具体是哪个版本之前不知道,已知的ibatis3.0以上肯定不能再使用了。
<select id="selectStudentById" parameterType="com.bean.student"> 
	select * from student where id= #id#
</select>

其中如果字段id为字符型,那么#id#表示的就是'id'类型,如果id为数值型,那么#id#就是id(数值)类型。

<select id="selectStudentById" parameterType="com.bean.student"> 
	select * from student where id= $id$
</select>

如果字段id为整型,Sql语句就不会出错,但是如果字段id为字符型,那么Sql语句应该写成
select * from table where id = '$id$'


2. ${} / #{}
    ibatis和mybatis现都可使用的两种方式。推荐使用#{},可防止sql注入。
<select id="selectStudentById" parameterType="com.bean.student"> 
	select * from student where id= #{id}
</select>

其中如果字段id为字符型,那么#id#表示的就是'id'类型,如果id为数值型,那么#id#就是id(数值)类型。
==>  Executing: select * from student where id= ?
==> Parameters: 0(String)

<select id="selectStudentById" parameterType="com.bean.student"> 
	select * from student where id= ${id}
</select>

如果字段id为整型,Sql语句就不会出错,但是如果字段id为字符型,需要加上单引号('')
==>  Executing: select * from student where id= '123'
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics