1:事务的特性: ACID:
1:原子性:(automatical)
2: 一致性:(consistency)
3: 隔离性:(isolation)
4:持久性(durability)
2:在java程序中,默认的情况下是自动提交事务,即执行完一条sql语句之后,就立即提交事务,如果要手动提交事务要执行conn.setAutoCommit(false); conn.commit(),conn.rollback();
代码如下:
1:原子性:(automatical)
2: 一致性:(consistency)
3: 隔离性:(isolation)
4:持久性(durability)
2:在java程序中,默认的情况下是自动提交事务,即执行完一条sql语句之后,就立即提交事务,如果要手动提交事务要执行conn.setAutoCommit(false); conn.commit(),conn.rollback();
代码如下:
package com.JDBC.firstJDBC;
import java.sql.*;
public class TestTransaction{
public static void main(String[] args) {
Connection conn=null;
Statement stm=null;
try{
conn=BestConn.getConnection();
stm=conn.createStatement();
conn.setAutoCommit(false);
String sql="insert into jdbc_users(id,name,passwd,phone,email)"
+" values(jdbc_users_seq.nextval,'fffff','1111','1111','1111')";
stm.executeUpdate(sql);
sql="insert into jdbc_users(id,name,passwd,phone,email)"
+" values(jdbc_users_seq.nextval,'fffff','1111','1111','1111')";
stm.executeUpdate(sql);
sql="insert into jdbc_users(id,passwd,phone,email)"
+" values(jdbc_users_seq.nextval,'1111','1111','1111')";
stm.executeUpdate(sql);
conn.commit();
}catch(Exception e){
e.printStackTrace();
if(conn!=null) try{conn.rollback();}catch(Exception ee){}
}finally{
BestConn.release(null, stm, conn);
}
}
}