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'