Java JDBC基础(五)
package com.yli.demo;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;/** * 简单批处理测试 * @author yli * */public class BatchTest {public static void main(String[] args) {// Test1();Test2();}/** * 非事务测试<br> * 批处理操作不能包含查询SQL,否则会抛出异常<br> * 批处理返回的结果是整型数组,表示每一条SQL语句执行成功后受影响的记录条数 */public static void Test1() {try {Connection conn;conn = ConnectionUtil.getConnection();String sql = "update es_t_shop_affiche set affichetitle='admin' where afficheid=100001";Statement stat = conn.createStatement();stat.addBatch(sql);sql = "update es_t_shop_affiche set affichetitle='root' where afficheid=100002";stat.addBatch(sql);int[] count = stat.executeBatch();for (int i = 0; i < count.length; i++) {System.out.println(count[i]);}ConnectionUtil.close(conn);} catch (SQLException e) {e.printStackTrace();}}/** * 批处理操作必须视为一个事务 */public static void Test2() {try {Connection conn;conn = ConnectionUtil.getConnection();boolean autoCommit = conn.getAutoCommit();conn.setAutoCommit(false);String sql = "update es_t_shop_affiche set affichetitle='aaa' where afficheid=100001";Statement stat = conn.createStatement();stat.addBatch(sql);sql = "update es_t_shop_affiche set affichetitle='bbb' where afficheid=100002";stat.addBatch(sql);int[] count = stat.executeBatch();for (int i = 0; i < count.length; i++) {System.out.println(count[i]);}conn.commit();// 将是否自动提交属性还原conn.setAutoCommit(autoCommit);ConnectionUtil.close(conn);} catch (SQLException e) {e.printStackTrace();}}}
?
?
?