Oracle在Java中事物管理

对于 对数据库中的数据做dml操作时,能够回滚,这一事物是很重要的

下面例子是对数据库中数据进行修改

package com.demo.oracle;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 在Java中使用Oracle事物、
 * 转账:一个账户减少十块钱,另一个账户上增加十块钱
 * @author Administrator
 *
 */
public class ConnectionSQl
{

    public static void main(String[] args)
    {
        Connection ct = null;
        try
        {
            //加载驱动
            Class.forName("Oracle.jdbc.driver.OracleDriver");
            
            //创建连接
            ct = DriverManager.getConnection(
                    "jdbc:oracle:thin:@127.0.0.1:1521:myoral","scott","m12"
                    );
            
            //加入事务处理
            ct.setAutoCommit(false);
            
            
            Statement st = ct.createStatement();
            
            //从scott中减少100
            st.executeUpdate("update emp set sal = sal - 100 where ename = 'SCOTT'");
            
            //给smith加上100
            st.executeUpdate("update emp set sal = sal + 100 where ename = 'SMITH'");
            
            //提交事物
            ct.commit();
            st.close();
            ct.close();
            
        }
        
        catch(Exception e)
        {
            //抛出异常,就回滚
            try
            {
                ct.rollback();
            }
            catch (SQLException e1)
            {
                // TODO 自动生成的 catch 块
                e1.printStackTrace();
            }
            
            e.printStackTrace();
        }
    }
}
View Code

 

posted on 2014-11-04 08:11  端着咖啡码农  阅读(230)  评论(0编辑  收藏  举报