错误笔记:JDBC向oracle数据库中插入数据遇到线程阻塞问题
来源:互联网 发布:重庆时时计划软件 编辑:程序博客网 时间:2024/06/06 05:56
今天在往数据库中插入数据时遇到了线程阻塞问题:
代码是这样的,使用批处理最优时间的方式,向数据库中插入多条数据:
public class TransTest {private String driver = "oracle.jdbc.OracleDriver";private String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";private String user = name;private String pass = password;Connection conn = null;Statement st = null;PreparedStatement prs = null;public static void main(String[] args) throws SQLException {TransTest test = new TransTest();test.test4();} /*1.事物自己管理 *2.使用批处理 *3.使用PreparedStatement * * */public void test4() {try {int num=0;Class.forName(driver);conn = DriverManager.getConnection(url, user, pass);conn.setAutoCommit(false);// 是否自动提交事务String sql = "insert into student(id,name) values(?,?)";prs = conn.prepareStatement(sql);long time = System.currentTimeMillis();for(int i=0;i<10000;i++) {num++;prs.setLong(1, i);prs.setString(2, "tom"+i);prs.addBatch();//最佳值时多少if(num%1500==0) {prs.executeBatch();}}prs.executeBatch();conn.commit();long end = System.currentTimeMillis();System.out.println(end-time);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}为什么会出现这样的问题呢?
试过各种方法都行不通后忽然想到我之前因为怕student表中有没有删除的数据会导致id重复的问题删除过一次表中数据
没有提交......这就很尴尬啊,DML语句做完之后都需要提交一下,之前都没有什么太大的体会.
commit;一下
数据正常插入了:
终于解决了..........
阅读全文
0 0
- 错误笔记:JDBC向oracle数据库中插入数据遇到线程阻塞问题
- JDBC向数据库中插入数据
- 当用JDBC向数据库中插入数据的中文问题
- 错误笔记:写项目时用PreparedStatement向数据库中插入数据报游标不足错误
- 在JAVA向Mysql的数据库中插入数据过大所遇到的问题
- jdbc向Oracle数据库插入系统时间
- java jdbc向数据库插入大量数据
- JDBC批量向数据库插入数据(十)
- c#向Oracle数据库中插入数据, 出现乱码问题, oracle11g(版本11.2)
- Struts+DAO的向oracle数据库插入数据的实现代码及遇到的问题(已解决)
- 向数据库中插入数据:
- .net批量向Oracle数据库中插入数据
- java中连续向Oracle数据库插入1000条数据
- java向Oracle数据库中插入blob字段数据
- 如何向Oracle数据库中插入带有特殊符号“&”的数据
- 通过 JDBC 向指定的oracle数据库表中插入,删除,更新一条记录.----JDBC-1
- JDBC之向数据库中插入图片
- Java向数据库中插入数据出错时怎么避免插入错误数据
- wait和notify方法
- 【ML学习笔记】5:机器学习中的数学基础5(张量,哈达玛积,生成子空间,超平面,范数)
- 【Scikit-Learn 中文文档】4 线性和二次判别分析
- Mybatis知识点
- ConcurrentHashMap的实现原理
- 错误笔记:JDBC向oracle数据库中插入数据遇到线程阻塞问题
- 主机不能拷贝东西到虚拟机上 解决
- php验证码工具类
- drawlayout点击请求不同数据并XListView刷新
- mvp购物车
- 00-常用方法
- Android组件学习笔记(分享文字以及图片功能)
- Smart Thief 问题
- 关于MYSQL的Lock wait timeout exceeded; try restarting transaction问题