SQL语句插入数据库2种方式
来源:互联网 发布:matlab 遍历矩阵 编辑:程序博客网 时间:2024/05/29 16:27
数据库批量插入2种方法:
1.直接插入
sql = “insert into rpt_count_log values(‘pow_power=”+i+”’,’”+starttimes+”’,’”+endtimes+”’,’1’,’9’,’0x053502’,’1’)”;
sta.executeUpdate(sql);
一条一条的执行,这种方法效率非常低,不适合大数据量的插入。
2.批量插入
首先,最重要的一点:将数据库自动提交关闭con.setAutoCommit(false);
public class DBConn {private static Statement sta;public static String url = "10.9.88.61";private final static String dbURL = "jdbc:sqlserver://"+url+":1433;DatabaseName=POW";private final static String dbUSR = "sa";private final static String dbPSW = "Power123";private Connection con = null; // 连接数据库public Statement connMsg(){ try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); con=DriverManager.getConnection(dbURL,dbUSR,dbPSW); con.setAutoCommit(false); //最重要的一点 sta = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); } catch(Exception e) { System.out.println(e); } return sta; }// 获得连接public Connection getConnection(){ return this.con;}//关闭数据库public void closeMsg(){ try { sta.close(); con.close(); } catch(Exception e) { System.out.println(e); } }
}
其次,设置批量插入的规模。例如此处是1620=810*2条记录再一次性提交。
PS:由于之前将自动提交关闭,在批量执行之后要提交commit;添加一条要addBatch()。
public void insert(int NESum, int sn, String start, String end) throws SQLException{ DBConn DBcon = new DBConn(); Statement sta = DBcon.connMsg(); Connection con = DBcon.getConnection(); final int batchSize = 810; String sql; Random random = new Random(); for(int e = 1; e <= NESum; e++) { sql = "insert into rpt_mains_fail_counts values('pow_power="+ e + "','" + start + "','" + end + "','" + sn + "','0x002700','" + random.nextInt(10000) + "')"; sta.addBatch(sql); sql = "insert into rpt_mains_fail_counts values('pow_power=" + e + "','" + start + "','" + end + "','" + sn + "','0x053200','" + random.nextInt(10) + "')"; sta.addBatch(sql); if(e % batchSize == 0) { sta.executeBatch(); con.commit(); } } sta.executeBatch(); con.commit(); DBcon.connMsg(); }
}
0 0
- SQL语句插入数据库2种方式
- Qt数据库SQL语句绑定方式与插入空值
- 批量生成sql语句批量插入数据库
- pl/sql插入语句插入数据库中文为????
- SQL语句中插入标识列获取标识ID的两种方式
- 跨数据库表相同结构的插入SQL语句
- 把excel数据生成sql插入数据库语句
- 数据库已有的数据不在插入SQL语句
- SQL语句往Oracle数据库中插入日期型数据
- 向数据库插入一条sql语句 返回id
- 数据库常用的SQL语句(二)数据的插入
- 用用sql语句将插入图片到mysql数据库中
- oralcle数据库插入当前的时间sql语句
- 三种常见的SQL插入语句
- SQL语句插入变量
- 优化SQL插入语句
- SQL更新插入语句
- SQL-插入语句中的‘,”,{
- Android如何判断一个应用在运行
- PostgreSQL系统表和视图
- POJ 3264 Balanced Lineup (RMQ)
- 记安装三系统失败
- IOS Apps 开发(Swift)(5)——Work with View Controllers
- SQL语句插入数据库2种方式
- information_schema中的所有表和视图
- 数据存储
- java基础——各种变量你晕了不?
- install mariedb
- java unicode c++ socket
- RTSP协议、RTMP协议、HTTP协议的区别
- 大型网站架构系列:电商网站架构案例(3)
- 解决The SDK platform-tools version ((23)) is too old to check APIs compiled with API 23