ibatis 中SQL语句传参数时 id=#id#与id=$id$ 有区别么?

我过去都是id=#id#这种写法,但是看到有的代码里写的是$
2024-12-23 07:33:09
推荐回答(1个)
回答1:

#是占位符
$字符串拼接

如果id = 3
id = #{id} 生成的sql语句是 id = ?
使用的是PreparedStatement,执行时,通过setXXX方法,将值加入在sql语句,如setInt(1, 3)
id = ${id} 生成的sql语句是 id = 3
直接拼接成sql语句,做的是字符串拼接操作