使用JDBC语句批处理的正确方法

时间:2013-09-24 06:08:36

标签: java sql batch-file statements

尝试使用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(连接,语句,计数器,时间,日期);

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

我错过了什么吗?我需要重新制作连接吗?

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

2 个答案:

答案 0 :(得分:0)

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

  1. 您的连接可能会在客户端(连接池设置)或服务器端超时。例如,在MySql wait_timeout参数中。
  2. 即使没有关闭,也不宜不必要地长时间保留数据库资源。
  3. 希望它有所帮助。

答案 1 :(得分:0)

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