我有一个表,我必须做一个SELECT … BETWEEN start_date AND end_date,以及将Date值插入到同一个表中.我看过这样的话:java.util.Date now = new java.util.Date();pStmt.setDate( 1, new java.sql.Date( now.getTi...
我有一个表,我必须做一个SELECT … BETWEEN start_date AND end_date,以及将Date值插入到同一个表中.
我看过这样的话:
java.util.Date now = new java.util.Date();
pStmt.setDate( 1, new java.sql.Date( now.getTime() ) );
pStmt.setTimestamp( 2, new java.sql.Timestamp( now.getTime() ) );
pStmt.executeUpdate();
但是那种代码设置或获取当前日期,不是吗?我想自己插入并选择自定义日期.
我也在StackOverflow读到它:
SELECT *
FROM myTable
WHERE ( YEAR(myfield) = '2009')
AND ( MONTH(myfield) = '1')
是否也可以使Date字段为String,然后使用StringTokenizer仅提取日,月或年信息并在类似于此代码的SELECT中使用它们? (如果我的第一个 – 更简单 – 想法是不可能的.)
所以到目前为止,有两种可能的解决方案.我还需要知道哪一个更快,因为访问的数据库是在具有大量数据的故障安全/关键系统(银行)中.
解决方法:
第一种方法更好,因为您可以使用日期函数来操作值.
private void executeQuery(java.util.Date startDate, java.util.Date endDate) throws SQLException {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = getConnection();
String query = "select ... between ? and ?";
pstmt = conn.prepareStatement(query);
pstmt.setDate(1, new java.sql.Date(startDate.getTime()));
pstmt.setDate(2, new java.sql.Date(endDate.getTime()));
//return results
ResultSet rs = pstmt.executeQuery();
rs.last();
System.out.println("last row = " + rs.getRow());
} finally {
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
}
}
本文标题为:插入和选择日期(Java)(MySQL)
基础教程推荐
- Java效率提升神器jOOR 2023-02-19
- Java关键字synchronized原理与锁的状态详解 2023-04-06
- SpringBoot实现滑块验证码验证登陆校验功能详解 2023-05-24
- JSON 格式的弊端与解决方法(真实示例) 2023-05-08
- JSP清除页面缓存常用方法小结 2023-08-03
- java EasyExcel面向Excel文档读写逻辑示例详解 2023-03-15
- JVM自定义类加载器在代码扩展性实践分享 2023-01-24
- Java中深拷贝,浅拷贝与引用拷贝的区别详解 2022-09-03
- java中有关构造方法中的输出 2023-06-30
- SpringBoot如何基于POI-tl和word模板导出庞大的Word文件 2023-03-22
