【发布时间】:2012-10-28 21:16:14
【问题描述】:
我现在有一个方法,如下所示:
public void foo(Date date) {
PreparedStatement stmt;
ResultSet rs;
java.sql.Date sDate = new java.sql.Date(date.getTime());
try {
String sql = "select * from some_table p where p.start_date <=? and ?<= p.end_date";
stmt = getConnection().preparedStatement(sql);
stmt.setDate(1, sDate);
stmt.setDate(2, sDate);
rs = stmt.executeQuery();
//...
} finally {
if (rs != null) { rs.close(); }
if (stmt != null) { stmt.close(); }
}
}
现在我不想传递一个 Date 对象,而是传递日期列表 (List<Date> dates)。我想我在技术上可以多次调用 foo,同时遍历列表,但是有没有一种方法可以实现这一点而不必多次调用 foo?
【问题讨论】:
-
我们可以在多个日期申请
-
你必须多次调用它
-
那么迭代是我唯一的选择吗?
-
我认为您应该修改查询条件以检查范围,而不是尝试传入日期列表。您并没有告诉我们您最终想要达到的目标。
标签: java sql database jdbc prepared-statement