java定时查询数据库
时间: 2023-10-14 09:12:28 浏览: 84
可以使用Java自带的Timer类和TimerTask类来实现定时查询数据库。
下面是一个简单的示例代码:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Timer;
import java.util.TimerTask;
public class DatabaseQueryTask extends TimerTask {
private Connection conn;
public DatabaseQueryTask() {
// 初始化数据库连接
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void run() {
try {
// 查询数据库
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM table_name");
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
// 处理查询结果
// ...
}
rs.close();
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Timer timer = new Timer();
// 每隔10秒执行一次查询任务
timer.schedule(new DatabaseQueryTask(), 0, 10000);
}
}
```
这个示例代码使用了Java的MySQL驱动来连接数据库,每隔10秒执行一次查询任务。在任务执行的run方法中,我们可以编写具体的查询逻辑和结果处理逻辑。
阅读全文