标签:col nsis getc rman close 完整性 com mic 一个
事务
数据库事务是指由一个或者多个SQL语句组成的工作单元,这个工作单元中的SQL语句是相互依赖的,简单点说,即一个SQL语句如果出现了一个错误,那么这一整个工作单元都将会被撤销掉。
事务的四大特性:
Atomic(原子性):事务中包含的操作被看作一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。
Consistency(一致性):只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初状态。
Isolation(隔离性):事务允许多个用户对同一个数据的并发访问,而不破坏数据的正确性和完整性。
Durability(持久性):事务结束后,事务处理的结果必须能够得到固化。
事务边界
事务的开始边界(BEGIN)。
事务的正常结束边界(COMMIT):提交事务。
事务的异常结束边界(ROLLBACK):回滚撤销事务。
在使用JDBC操作数据库之前,JDBC首先会从获取一个Connection数据库连接对象,默认情况下Connection对象是会自动对事务进行提交的。
获取Connection数据库连接对象以及关闭事务自动提交
1 public class BaseDao(){ 2 //静态加载数据库驱动包(这里是Oracle数据库) 3 static{ 4 try { 5 Class.forName("oracle.jdbc.driver.OracleDriver"); 6 } catch (ClassNotFoundException e) { 7 e.printStackTrace(); 8 } 9 } 10 11 //获取数据库链接对象 12 public static Connection getConnection(){ 13 String url="jdbc:oracle:thin:@localhost:1521:orcl"; 14 try { 15 return DriverManager.getConnection(url,"scott","tiger"); 16 } catch (SQLException e) { 17 e.printStackTrace(); 18 } 19 return null; 20 } 21 22 }
1 //使用Jdbc执行持久化(Dept) 2 public static void main(String[] args) { 3 Connection conn=getConnection(); 4 Statement st=null; 5 try { 6 conn.setAutoCommit(false);//设置不自动提交 7 st=conn.createStatement(); 8 String sql="insert into dept values(40,‘后勤‘,‘XXX‘)"; 9 st.executeUpdate(sql); 10 conn.commit();//提交事务 11 //conn.rollback();//回滚事务 12 conn.close(); 13 } catch (SQLException e) { 14 e.printStackTrace(); 15 } 16 }
根据上面的两段代码,应该不难知晓。关闭自动提交只需要 conn.setAutoCommit(false) 即可,其次如果事务正常,则事务提交 conn.commit() 如果失败,则需要conn.rollback()
以上便是JDBC的事务处理。
标签:col nsis getc rman close 完整性 com mic 一个
原文地址:http://www.cnblogs.com/viusuangio/p/7491625.html