呼伦贝尔做网站公司,恩施网站建设xiduyun,手机端网站尺寸,免费建设论坛网站1.建立链接,(打电话拨号 )
Connection connection getConnection();
2.不自动 Commit (瓜子不是一个一个吃,全部剥开放桌子上,然后一口舔了)
connection.setAutoCommit(false);
注意#xff1a;批量处理数据前必须关闭自动提交#xff0c;保证未提交前的操作处于一个事物…1.建立链接,(打电话拨号 )
Connection connection getConnection();
2.不自动 Commit (瓜子不是一个一个吃,全部剥开放桌子上,然后一口舔了)
connection.setAutoCommit(false);
注意批量处理数据前必须关闭自动提交保证未提交前的操作处于一个事物一旦出现异常可以回滚成功。
3.预编译SQL语句,只编译一回哦,效率高啊.(发明一个剥瓜子的方法,以后不要总想怎么剥瓜子好.就这样剥.)
PreparedStatement statement connection.prepareStatement(INSERT INTO TABLEX VALUES(?, ?));
4.来一个剥一个,然后放桌子上
//记录1
statement.setInt(1, 1);
statement.setString(2, Cujo);
statement.addBatch(); //记录2
statement.setInt(1, 2);
statement.setString(2, Fred);
statement.addBatch(); //记录3
statement.setInt(1, 3);
statement.setString(2, Mark);
statement.addBatch(); //批量执行上面3条语句. 一口吞了,很爽
int [] counts statement.executeBatch();
statement .clearBatch(); //数据量过大时候必须清空batch。
statement.close(); //数据量过大时候必须关闭否则超过最大游标数。 //Commit it 咽下去,到肚子(DB)里面
connection.commit(); //执行完executeBatch()必须提交。 使用注意事项这些都是个人实践心得
1、必须将自动提交关闭因为数据处理异常回滚时候可保证提交前的操作处于同一事物保证回滚成功。
2、executeBatch()使用完后必须clearBatch()清空batch容器避免数据量过大导致的虚拟机内存溢出。
3、executeBatch()之后clearBatch()接着必须close()资源。否则占用资源报错JAVA heap space内存溢出。
4、在循环里边处理数据时候一定不能有频繁创建对象的操作如果有可以定义全局私有变量每次初始化时候创建一次以后直接使用即可。频繁创建对象浪费内存报错JAVA heap space内存溢出。
5、处理各阶段的错误推荐使用异常的传递机制通过方法头抛出异常最后在总方法catch捕获异常输出错误信息。