码迷,mamicode.com
首页 > 数据库 > 详细

JDBC:事务处理

时间:2017-09-07 21:29:39      阅读:191      评论:0      收藏:0      [点我收藏+]

标签: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 }
JDBC获取数据库连接对象
技术分享
 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的事务处理。

JDBC:事务处理

标签:col   nsis   getc   rman   close   完整性   com   mic   一个   

原文地址:http://www.cnblogs.com/viusuangio/p/7491625.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!