0

尝试使用 sql 语句批处理执行以下操作:每 5 分钟,将语句添加到批处理(当前计数器)然后每小时发送,将语句发送到数据库。

不过我很好奇,每当我添加或发送批处理时,我是否需要重新初始化语句/连接?

这就是我认为我会这样做的方式,只需要澄清如何更聪明地做到这一点,或者这是否是最好的方法

在程序启动时,初始化以下

    Connection connection = null;
    Statement statement = null;
        Class.forName("com.mysql.jdbc.Driver");
        connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/youtube", "root", "root");
    statement = connection.createStatement();

然后每 5 分钟.... addToBatch(connection, statement, counter, time, date);

然后小时... statement.executeBatch();

我错过了什么吗?我需要重新建立连接吗?

任何信息都有帮助,谢谢!

4

2 回答 2

0

最好将查询信息保存在一个简单的列表中,然后在需要时创建批处理和添加语句。

  1. 您的连接可能会在客户端(连接池设置)或服务器端超时。例如,在 MySql 的wait_timeout参数中。
  2. 即使它没有关闭,不必要地长时间占用数据库资源也不是一个好主意。

希望能帮助到你。

于 2013-09-24T06:23:19.537 回答
0

您可以将 autoReconnect=true 参数添加到连接字符串

于 2013-09-24T10:51:04.270 回答