java定时器每分钟向sql server插入一条数据
时间: 2023-09-04 12:07:19 浏览: 158
java定时器
4星 · 用户满意度95%
可以使用Java中的ScheduledExecutorService类来实现定时器功能,并且使用JDBC连接到SQL Server数据库进行数据插入操作。以下是一个示例代码:
```java
import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.sql.*;
public class InsertData {
public static void main(String[] args) {
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(new InsertTask(), 0, 1, TimeUnit.MINUTES);
}
}
class InsertTask implements Runnable {
@Override
public void run() {
try {
// 设置JDBC连接信息
String url = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase";
String username = "myusername";
String password = "mypassword";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// 连接数据库
Connection conn = DriverManager.getConnection(url, username, password);
// 获取当前时间
Calendar calendar = Calendar.getInstance();
Date now = calendar.getTime();
// 构建SQL语句并执行插入操作
String sql = "INSERT INTO mytable (time_stamp, value) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, new Timestamp(now.getTime()));
pstmt.setInt(2, 1);
pstmt.executeUpdate();
// 关闭连接
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上述代码中,我们使用了ScheduledExecutorService类来创建一个定时器,每分钟执行一次InsertTask任务。在任务中,我们使用JDBC连接到SQL Server数据库,并构建插入操作的SQL语句,将当前时间和一个固定的值插入到指定的数据表中。最后,我们关闭连接,完成任务。
阅读全文