import java.sql.*;
/**
* 批处理Batch
* @author Administrator
*
*/
public class TestBatch {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//1:加载驱动类
Class.forName("com.mysql.jdbc.Driver");
//2:建立连接(连接对象内部其实包含Socket对象,是一个远程的连接,比较耗时,这是Connection对象管理的一个要点)
//真正的开发中,都会使用连接池来管理对象
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test","root","123456");
//将事务设为手动提交
conn.setAutoCommit(false);
long start = System.currentTimeMillis();
stmt = conn.createStatement();
for(int i=0; i<20000;i++){
stmt.addBatch("insert into user (name,age) values ('TFBoy吃屎"+i+"',12)");
}
stmt.executeBatch();
//提交事务
conn.commit();
long end = System.currentTimeMillis();
System.out.println("插入两万行TFBoy吃屎,耗时(毫秒):" + (end-start));
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
//关闭顺序遵循:ResultSet-->Statement->Connection
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
5 语句批处理(Batch)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 如今微服务架构讨论的如火如荼。但在企业架构里除了大量的OLTP交易外,还存在海量的批处理交易。在诸如银行的金融机构...
- 一.批处理sql语句 1.addBatch(String sql):添加批处理 2. executeBatch()...
- 最近做一个二手项目,首页使用FMDB初始化了很多数据,之后应为需求需要,又加了很多初始化数据. FMDB单例的写法...