Java 使用JDBC语句批处理的正确方法
尝试使用sql语句批处理执行以下操作:每5分钟向批处理(当前计数器)添加一条语句,然后每小时发送一次,将语句发送到数据库 不过我很好奇,我是否需要在添加语句/连接或发送批处理时重新初始化该语句/连接 我想我会这样做,只是需要澄清一下如何做得更聪明,或者这是否是最好的方法 在程序启动时,初始化以下内容Java 使用JDBC语句批处理的正确方法,java,sql,batch-file,statements,Java,Sql,Batch File,Statements,尝试使用sql语句批处理执行以下操作:每5分钟向批处理(当前计数器)添加一条语句,然后每小时发送一次,将语句发送到数据库 不过我很好奇,我是否需要在添加语句/连接或发送批处理时重新初始化该语句/连接 我想我会这样做,只是需要澄清一下如何做得更聪明,或者这是否是最好的方法 在程序启动时,初始化以下内容 Connection connection = null; Statement statement = null; Class.forName("com.mysql.
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(连接、报表、计数器、时间、日期)
然后一个小时。。。
语句。executeBatch()
我遗漏了什么吗?我需要重新建立连接吗
任何信息都有帮助,谢谢 最好将查询信息保存在一个简单的列表中,然后在需要时创建批处理和添加语句
希望有帮助。您可以将autoReconnect=true参数添加到连接字符串中您“可以”在某种类型的
列表中维护每个请求
,并且只需每小时生成一次批处理……但这是必要的吗?或者我的理论会很好用?你的想法是,如果我最初的想法不起作用,我将如何去做,这取决于JDBC驱动程序和数据库服务器。他们可能会清理陈旧的连接,以减少资源负载/COG…在应用程序级别长时间保留系统资源总是一个坏主意。我很好奇,为什么你只想在一小时内将数据发送到数据库,这会导致使用率峰值。似乎更明智的做法是每小时只打开一次连接,然后立即发送查询,而不是每隔几分钟发送一次小峰值。比如字符串列表?公共LinkedList增益=新建LinkedList();对您可以使用List gains=new ArrayList();也看到