如何在 jdbcTemplate 中为具有相同值的多个参数标记传递参数?
How to pass parameters in jdbcTemplate for multiple parameter markers with same value?
我在传递“?”的查询中有 4 个相同的参数标记。获取返回的数据
getMyDateField() 函数,我是否需要像下面那样传递相同的参数 4 次?什么是正确的方法。请推荐
final String[] args = new Date[]{
getMyDateField(),
getMyDateField(),
getMyDateField(),
getMyDateField()
};
int[] types = new int[]{Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR};
result = jdbcTemplate.query(query, args, types, new Mapper());
如果您需要所有 4 个参数具有相同的日期值并且 getMyDateField()
正在做一些处理,您总是可以将 getMyDateField() 的结果存储在一个变量中并将其传递 4 次到日期数组,使您的代码更高效。
如果可以修改 sql 查询,即您不需要对 4 个参数进行 4 个约束,因为它们都共享相同的日期值,那么您可以将查询更改为 where date1 = date2 and date2 = date3 and date3 = date4 and date4 = ?dateparam
并且只传递一次该参数。
我在传递“?”的查询中有 4 个相同的参数标记。获取返回的数据 getMyDateField() 函数,我是否需要像下面那样传递相同的参数 4 次?什么是正确的方法。请推荐
final String[] args = new Date[]{
getMyDateField(),
getMyDateField(),
getMyDateField(),
getMyDateField()
};
int[] types = new int[]{Types.CHAR, Types.CHAR, Types.CHAR, Types.CHAR};
result = jdbcTemplate.query(query, args, types, new Mapper());
如果您需要所有 4 个参数具有相同的日期值并且 getMyDateField()
正在做一些处理,您总是可以将 getMyDateField() 的结果存储在一个变量中并将其传递 4 次到日期数组,使您的代码更高效。
如果可以修改 sql 查询,即您不需要对 4 个参数进行 4 个约束,因为它们都共享相同的日期值,那么您可以将查询更改为 where date1 = date2 and date2 = date3 and date3 = date4 and date4 = ?dateparam
并且只传递一次该参数。