数据库内有个字段day为datetime类型,我想每次调用java中某方法时查询到调用时间对应小时,在数据库day为调用时间对应小时的数据,数据库内也是使用的datetime类型所以不能使用String类型传入数据库内
时间: 2024-03-16 16:43:04 浏览: 103
你可以使用Java中的Calendar类来获取当前时间并获取对应的小时数,然后将其传入SQL语句中进行查询。以下是一个示例代码:
```java
import java.util.Calendar;
import java.sql.*;
public class QueryData {
public static void main(String[] args) {
// 获取当前时间的小时数
int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
// 拼接SQL语句
String sql = "SELECT * FROM table_name WHERE HOUR(day) = " + hour;
try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_name", "username", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
// 处理查询结果
while (rs.next()) {
// ...
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
通过以上代码,你可以获取当前时间对应的小时数并将其作为查询条件,在数据库中查询到对应的数据。
阅读全文