• 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中访问数据库时,每执行一条语句就会提交一次,如果多条语句执行过程中,发生错误,会导致表被改变
    ,并且没按照程序员的意愿发生改变,这时需要利用事务的原理设计程序。

     1 import java.sql.*;
     2 
     3 public class Demo001 {
     4 
     5 public static void main(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 }
  • 相关阅读:
    非主流的textarea自增长实现
    php配置之Zend Debugger和Zend Optimizer
    重新发明轮子之jQuery新闻滚动插件
    javascript正则表达式复习
    jquery插件最佳实践之progressbar
    初试WebStorage之localstorage
    javascript Function之bind
    图片预加载小记
    jQuery AjaxQueue改进
    :nthchild与:nthoftype之小解
  • 原文地址:https://www.cnblogs.com/dongzhuangdian/p/5692020.html
Copyright © 2020-2023  润新知