点击文件名下载附件
作者: yanieye 时间: 2022-3-23 19:31
第一种方式,只能出现在where后面。 如果要改变其它子句,比如select/from/groupby,都需要用第二种。作者: yanieye 时间: 2022-3-23 19:38
举个例子说:
1. 如果是用?{param2},比如SQL是select colA from tableA where colA = ?{param2}
那么实际执行的创建PreparedStatement的SQL就是 select colA from tableA where colA = ? 之后在通过stmt.setObject的方式把param2的实际值设置进去。
2. 如果是?{@param2}的写法,比如比如SQL是select colA from tableA where colA = ?{@param2}
那么就是直接替换,比如param2这个参数的值是'value1234' 那么创建PreparedStatement的SQL就是select colA from tableA where colA = 'value1234' 不会stmt.setObject的方式给这个参数赋值。
这是两个完全不同的用法。作者: yhdata_MB5fOVHS 时间: 2022-3-23 19:51
yanieye 发表于 2022-3-23 19:38
举个例子说:
1. 如果是用?{param2},比如SQL是select colA from tableA where colA = ?{param2}
那么 ...