java oracle 事务 锁_oracle 事务简介,锁的概念,java访问数据库注意事项
发布日期:2022-02-03 13:17:04 浏览次数:7 分类:技术文章

本文共 1373 字,大约阅读时间需要 4 分钟。

java链接oracle和连接其他数据库一样有两种方式:

1 桥接 jdbc-obdc

2 jbdc

insert语句一次插入大量数据

insert into table (列1,列2,列3) select 列1,列2,列3 from table1;

update语句在更新数据时直接修改数据(oracle特有的)

update table set(列1,列2,列3) = (select 列1,列2,列3, from table1 where…..) where ….. ;

用查询结果创建新表

create table table2 (列1,列2,列3) as select 列11,列22,列33 from table;

oracle中的事务处理

1 锁的概念

2 保存点的使用:

在处理当前事务过程中,还没提交事务时,可以回滚到保存点

savepoint point1;rollback to point1;

提交命令是:commit;

特别指出:每次退出数据库的时候数据库都会自动提交,没有提交相当于内容在变但是没有保存。

3 在java中使用事务

在java中访问数据库时,每执行一条语句就会提交一次,如果多条语句执行过程中,发生错误,会导致表被改变

,并且没按照程序员的意愿发生改变,这时需要利用事务的原理设计程序。

1 import java.sql.*;2

3 public classDemo001 {4

5 public static voidmain(String[] args) {6   Connection ct = null;7   try{8     Class.forName("oracle.jdbc.driver.OracleDriver");9     ct =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:myoracle1","scott","tiger");11     Statement st =ct.createStatement();12

13     //设置ct不自动提交事务

14     ct.setAutoCommit(false);15

16     st.executeUpdate("update table set a1 = a1 + 100 where name = 'sss' ");17

18     int w = 1/0;//故意制作的异常

19

20     st.executeUpdate("update table set a2 = a2 - 100 where name = 'sss' ");21

22     ct.commit();23     ct.close();24     st.close();25

26     }catch(Exception e){27 try{28         //一旦发生异常则回滚

29         ct.rollback();30       } catch(SQLException e1) {31           e1.printStackTrace();32       }33     }34   }35 }

转载地址:https://blog.csdn.net/weixin_34759094/article/details/114096846 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:sphinx mysql 数据源_3.7.SQL 数据源 (MySQL, PostgreSQL) - Sphinx 0.9.9/Coreseek 3.2 参考手册...
下一篇:java中socket与多线程_Java Socket多线程编程、通信模型及socket协议详解

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月02日 16时54分20秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

mysql配置要点_Mysql学习MySQL优化配置文件my.ini(discuz论坛) 2019-04-21
python中mysql操作命令_mysql记录操作 2019-04-21
python中对象的定义_python中对象的定义和使用 2019-04-21
python学画画_python学画画(下) 2019-04-21
云栖社区 mysql_【直播结束,已更新回放】PG、MySQL到底哪个好?云栖说这次请来五位专家撕了一下-阿里云开发者社区... 2019-04-21
老男孩mysql 百度云_英语语录:除了你,没人能掌控你的幸福 2019-04-21
mysql驱动多次执行问题_Laravel5.2队列驱动expire参数设置带来的重复执行问题 数据库驱动... 2019-04-21
mysql获取刚新增的数据库_如何取得刚插入数据库的数据的id mysql 2019-04-21
python将10到1递减_(Python)如何将3个递减列表合并成一个递减列表? 2019-04-21
python脚本怎么用来处理数据_长时间运行数据处理python脚本的程序结构 2019-04-21
python转成c 语言_将Python对象转换为C void类型 2019-04-21
resin mysql_Eclipse+resin+mysql 安装及环境配置 2019-04-21
redis的使用 Java_java中使用redis 2019-04-21
java 数组元素位置_Java – 在数组中获取元素位置 2019-04-21
c 泛型与java泛型_C ++和Java中的“泛型”类型之间有什么区别? 2019-04-21
java 返回实体对象_java 封装返回结果实体类 返回结果以及错误信息 2019-04-21
java web 防止sql注入攻击_JavaWeb防注入知识点(一) 2019-04-21
java ssm 异常分类_SSM项目常见的异常与处理提示(一) 2019-04-21
java定义矩形类_Java定义矩形类 2019-04-21
判断输入的是否为数字 java_java中判断字符串是否为数字的方法的几种方法 2019-04-21