oracle 事务简介,锁的概念,java访问数据库注意事项
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中访问数据库时,每执行一条语句就会提交一次,如果多条语句执行过程中,发生错误,会导致表被改变
,并且没按照程序员的意愿发生改变,这时需要利用事务的原理设计程序。
import java.sql.*;
public class Demo001 {
public static void main(String[] args) {
Connection ct = null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
ct = DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:myoracle1","scott","tiger");
Statement st = ct.createStatement();
//设置ct不自动提交事务
ct.setAutoCommit(false);
st.executeUpdate("update table set a1 = a1 + 100 where name = 'sss' ");
int w = 1/0;//故意制作的异常
st.executeUpdate("update table set a2 = a2 - 100 where name = 'sss' ");
ct.commit();
ct.close();
st.close();
}catch(Exception e){
27 try {
//一旦发生异常则回滚
ct.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
}
}
oracle 事务简介,锁的概念,java访问数据库注意事项的更多相关文章
- Oracle事务与锁
Oracle事务与锁 2017-12-13 目录 1 数据库事务概括 1.1 事务定义 1.2 事务生命周期 1.3 事物的特性 1.4 死锁2 事务相关语句 2.1 事务相关语句概括 2 ...
- Oracle事务与锁 知识点摘记
事务:事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功要么全部失败. 说明:一组SQL,一个逻辑工作单位,执行整体修改或者整体回退. 事务的相关概念: 1.事务的提 ...
- oracle事务和锁
数据库事务概括 1. 说明 一组SQL,一个逻辑工作单位,执行时整体修改或者整体回退. 2.事务相关概念 1)事务的提交和回滚:COMMIT/ROLLBACK 2)事务的开始和结束 开始事务:连接到数 ...
- oracle事务和锁(转)
If you use a SET TRANSACTION statement, then it must be the first statement in your transaction. How ...
- Oracle事务和锁机制
事务 1. 说明 一组SQL,一个逻辑工作单位,执行时整体修改或者整体回退. 2.事务相关概念 1)事务的提交和回滚:COMMIT/ROLLBACK 2)事务的开始和结束 开始事务:连接到数据库,执行 ...
- JavaSE学习总结(九)—— Java访问数据库(JDBC)
一.JDBC简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java ...
- Java访问数据库Mysql
一.概述 本文主要介绍Java接连数据库的基本方法和步骤,并对其中的几个要点进行简要说明. 二.数据库访问步骤 在Java中连接数据库进行的访问主要有以下几个步骤: 加载数据库驱动 注册数据库驱动 建 ...
- 三国武将查询系统 //Java 访问 数据库
import java.awt.*; import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event ...
- java 访问数据库公共类
package com.javaweb.mvc; import java.sql.*; /** * @author 公共数据访问类 * * Statement 和 PreparedStatement之 ...
随机推荐
- java jvm学习笔记八(实现jar包的代码签名)
欢迎装载请说明出处:http://blog.csdn.net/yfqnihao/article/details/8267669 课程源码:http://download.csdn.net/detai ...
- 《深入Java虚拟机学习笔记》- 第5章 Java虚拟机
一.JVM的生命周期 当启动一个Java程序时,一个Java虚拟机实例就诞生了:当该程序关闭退出时,这个Java虚拟机也就随之消亡: JVM实例通过调用某个初始类的main方法来运行一个Java程序: ...
- oracle 启用归档日志
Oracle可以运行在2种模式下:归档模式(archivelog)和非归档模式(noarchivelog) 归档模式可以提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,归档模式应该和 ...
- Linux PHP实现仿百度文库预览功能
1.安装openoffice: tar zxvf OOo_3.3.0_Linux_x86-64_install-rpm-wJRE_zh-CN.tar.gzcd RPEMrpm -ivh *.rpm安装 ...
- 零基础学习hadoop到上手工作线路指导
零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易.在刚接触云计算,曾经想过培训,但是培训机构的选择就让我很纠结.所以索性就自己学习了.整个过程整理一下,给大家参考,欢迎讨论,共同学习. ...
- 使用Mono Cecil 动态获取运行时数据 (Atribute形式 进行注入 用于写Log) [此文报考 xxx is declared in another module and needs to be imported的解决方法]-摘自网络
目录 一:普通写法 二:注入定义 三:Weave函数 四:参数构造 五:业务编写 六:注入调用 7. 怎么调用别的程序集的方法示例 8. [is declared in another module ...
- Objective-C Runtime 运行时之五:协议与分类
Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到. Objective-C中的协议是普遍存在的 ...
- for循环中使用了return
for循环中使用了return,导致没有循环完毕就结束了整个方法的执行.
- Android最新锁屏病毒分析及解锁
一.情况简介 从去年开始PC端的敲诈者类病毒在不断的爆发,今年年初的时候手机上也开始出现了敲诈者之类的病毒,对这类病毒很无语也是趋势,因为很多时候病毒的产生是和金钱利益相关的.前天去吾爱破解论坛病 ...
- 理解 traits
1.为什么使用traits? 考虑下面的需求,实现一个方法Advance(iter,n),接收一个迭代器iter和移动距离n,将iter向前移动n个距离. 分析,因为存在不同类型的迭代器,做同一件事情 ...