批处理流程:
connection.setAutoCommit(false);//设置不自动提交事务
Statement接口addBatch(),executeBatch()
然后connection接口commit()提交事务
实例:
首先定义三个接口,使用Statement接口:
省略了连接数据库的操作,与JDBC:建立与数据库的连接一文操作一致
Connection conn= null;
Statement sm = null;
ResultSet rs=null;
核心操作:
conn.setAutoCommit(false);//将事务设为手动提交
sm=conn.createStatement();
for (int i = 0; i <10000 ; i++) {
sm.addBatch("insert into test (名字,年龄) values('四毛"+i+"',66666)"); //+号为字符串连接,i变量则需要写成 "+i+"
}
sm.executeBatch();
conn.commit();//提交事务
使用PreparedStatement接口预处理数据,但是批处理时一般不选用,因为会抛异常。
核心操作:
首先将上面的Statement接口改为PreparedStatement sm = null;
conn.setAutoCommit(false);//将事务设为手动提交
sm=conn.prepareStatement("insert into test (名字,年龄) values(?,?)");
for (int i = 0; i <10000 ; i++) {
sm.setString(1,"四毛"+i);
sm.setObject(2,50000);
sm.addBatch();//每条语句addBatch()一次
}
sm.executeBatch();
conn.commit();//提交事务
//
SQL语句中单双引号的使用:
1.当遇见字符串使用单引号:‘四毛’
2.当遇见变量的时候:先写两个单引号(’),再在单引号内嵌套两个双引号("),再在双引号内嵌套两个加号(+),最后在加号中间嵌套你的变量,
例如:’"+name+" '
3.或者使用PreparedStatement预处理,可以将变量变为?再使用setObject赋值