读书人

JDBC事宜隔离及保存点

发布时间: 2012-12-28 10:29:04 作者: rapoo

JDBC事务隔离及保存点

package com.test;import java.sql.Connection;import java.sql.SQLException;import java.sql.Savepoint;import java.sql.Statement;import com.db.ConnectionManager;/** * SavePoint JDBC3之后引入的新特性 * SavePoint 接口允许用户将事务分割为多个阶段, 用户可以指定回滚事务到特定保存点,并不会回滚到事务的起点 * @author 守望幸福 * */public class SavePoint {static Connection con;public static void main(String[] args) throws ClassNotFoundException, SQLException {con=ConnectionManager.getConnection();con.setAutoCommit(false);//connection默认自动提交事务,false为不自动提交con.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);Statement stmt=con.createStatement();int row=stmt.executeUpdate("insert into student(name,score,subject)values('李四',20,'数学')");Savepoint savepoint=con.setSavepoint("first savePoint");//设置保存点int row1=stmt.executeUpdate("insert into student(name,score,subject)values('王五',80,'哲学')");con.rollback(savepoint);//回滚至保存点,在保存点之前的事务依旧提交数据持久化到数据库中,保存点之后的事务回滚,数据不会持久化con.commit();System.out.println("row:"+row);System.out.println("row1:"+row1);}}
?

读书人网 >其他数据库

热点推荐