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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。