JDBC 复习4 批量执行SQL
2024-09-04 00:17:12
1使用jdbc进行批量执行SQL在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。
package dbex.mysql;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import dbex.DBUtil;
public class BatchSQL {
/**
* @throws IOException
* @throws SQLException
* @Title: doBatch
* @Description: 使用JDBC进行批处理操作
* @param
* @throws
*/
void doBatch() throws SQLException, IOException{
Connection conn=DBUtil.getConnection();
PreparedStatement ppst = null;
ResultSet rs = null;
try {
long startTime = System.currentTimeMillis();
ppst = conn.prepareStatement("insert into clob values(?,'this is a test for batch sql')");
for (int i = 222; i < 100222; i++) {
ppst.setInt(1, i);
ppst.addBatch();
}
ppst.executeBatch();
long endTime = System.currentTimeMillis();
System.out.println(new Date().toLocaleString()+ "执行批量一共耗时"+(endTime-startTime)/1000+"s");
} catch (Exception e) {
e.printStackTrace();
}finally{
DBUtil.closeAll(conn, ppst, rs);
}
}
public static void main(String[] args) throws SQLException, IOException {
new BatchSQL().doBatch();
}
}
优点
- SQL是预编译之后的 执行效率有保证
缺点
- 这种形式只能应用在批量的插入数据或者批量更新的情况下
最新文章
- [No0000AC]全局鼠标键盘模拟器
- LeetCode - 72. Edit Distance
- CSS3-06 样式 5
- 调试SQLSERVER (三)使用Windbg调试SQLSERVER的一些命令
- Android入门开发之SD卡读写操作(转)
- spring aop搭建redis缓存
- Scrum项目5.0
- (旧)子数涵数&#183;PS ——翻页效果
- $(&#39;#checkbox&#39;).attr(&#39;checked&#39;); 返回的是checked或者是undefined解决办法
- 添加常驻Notification
- POJ 2541 Binary Witch(逆序KMP,好题)
- 【转】PS学堂之一:展示一下自己做的圆形印章
- [itint5]判断是否为二叉搜索树
- 关于IOS中UIWebView 加载HTML内容
- 求解:C#.Net 远程方法调用失败 (Exception from HRESULT: 0x800706BE)
- node-koa搭建MVC/RESTful API项目
- redis常见命令使用
- [Swift]LeetCode188. 买卖股票的最佳时机 IV | Best Time to Buy and Sell Stock IV
- CentOS7系统搭建外网环境
- python爬虫之小说网站--下载小说(正则表达式)