我有一个像下面这样的 SQL stmnt,它抱怨,因为我没有传入两个绑定变量。
有没有一种方法可以重用一个绑定变量,因为它们是相同的?
String sqlText = "SELECT * FROM person WHERE (name = UPPER(?) OR name = LOWER(?) )";
List<obj> results = tmplt.query(sqlText, new Object[]{name}, new objExtractor());
我有一个像下面这样的 SQL stmnt,它抱怨,因为我没有传入两个绑定变量。
有没有一种方法可以重用一个绑定变量,因为它们是相同的?
String sqlText = "SELECT * FROM person WHERE (name = UPPER(?) OR name = LOWER(?) )";
List<obj> results = tmplt.query(sqlText, new Object[]{name}, new objExtractor());
是的。使用NamedParameterJdbcTemplate并为两个参数分配相同的名称:
SELECT * FROM person WHERE (name = UPPER(:param) OR name = LOWER(:param) )
文档中有关如何使用此类的更多说明。