1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package jdbc05;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Savepoint;
import java.sql.Statement;
/**
*@version 2015年4月26日 上午11:09:13
*@author sky
*测试保存点 Savepoint
*/
public class Transaction02 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//加载驱动
Class.forName(
"oracle.jdbc.driver.OracleDriver"
);
//创建连接
Connection conn =DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:LYS"
,
"scott"
,
"m123"
);
//System.out.println(conn);
//创建静态处理块
Statement st=conn.createStatement();
//要执行的spl语句
String sql1=
"insert into tb_student (name,course,score) values ('1王二麻子','java',1)"
;
String sql2=
"insert into tb_student (name,course,score) values ('2王二麻子','java2',2)"
;
//关闭 默认的自动提交
conn.setAutoCommit(
false
);
st.executeUpdate(sql1);
//executeUpdate :INSERT、UPDATE 或 DELETE 语句
Savepoint sp=conn.setSavepoint();
//设置保存点
st.executeUpdate(sql2);
conn.rollback(sp);
// 即此处执行一次回滚,回滚到保存点
//设置手动提交
conn.commit();
//所以最后的结果是 sql2的结果未保存到数据库 而 sql1保存到数据库
}
}
|
测试保存点 Savepoint
最新推荐文章于 2022-01-16 16:33:35 发布