<%@page import="java.sql.*"%>
<%
Connection con = null;
Statement st = null;
ResultSet rs = null;
String url = "jdbc:mysql://localhost:3306/";
String db = "permission";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "zouhuiying";
try {
Class.forName(driver);
con = DriverManager.getConnection(url + db, user, pass);
con.setAutoCommit(false);// Disables auto-commit.
String sql1 = "insert into users(name,userid) VAlUES('aa','1')";
String sql2 = "insert into users(name,userid) VAlUES('bb','2')";
String sql3 = "insert into users(name,userid) VAlUES('cc','3')";
String sql4 = "insert into users(name,userid) VAlUES('dd','4')";
PreparedStatement pre = con.prepareStatement(sql1);
pre.executeUpdate();
pre = con.prepareStatement(sql2);
pre.executeUpdate();
pre = con.prepareStatement(sql3);
pre.executeUpdate();
pre = con.prepareStatement(sql4);
pre.executeUpdate();
con.commit();
} catch (SQLException e) {
System.out.println("Exception");
e.printStackTrace();
if(con!=null)
try {
System.out.println("will rollback");
con.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
} finally {
con.close();
}
%>
关于commit:当con.setAutoCommit(false)时,每执行一条sql语句时,并不会立即提交,在所有sql语句执行完后commit一起提交。
关于rollback:
当有一条sql语句没有执行成功,则会抛出异常,不会执行commit语句。抛出异常到达rollback语句,则以前执行成功的sql语句也不会提交,所以所有的sql语句都没有执行。
分享到:
相关推荐
Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务。begin tran表示开始事务, commit tran表示提交事务,rollback tran表示回滚事物
简单数据库 这是一个用 Java(版本 7)实现的简单数据库。 它能够执行数据命令(SET、GET、UNSET、NUMEQUALTO、END)和事务命令(BEGIN、ROLLBACK、COMMIT)。 可以在此处找到更多详细信息: :
Ansible-rollback.zip,在capistrano styleansistrano中负责回滚脚本应用程序(如php、python、ruby等),ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Win系统多点还原软件(RRx)RollBack Rx Pro V10.7带序列号版,可以对系统进行快照,多点记录,随时还原到记录点,快速还原
雨过天晴注册机(Rollback Rx 9.0 注册工具) 1.安装雨过天晴电脑保护系统专业版 V1.0.11.2.20100128,重启完成DOS下安装. 2.断开网络,注册机算出注册码. (机器码无法复制见这里X:\Program Files\Yuguo\netmsg.txt...
RollBack Rx v11.1 正式永久使用无限制,内包括正式版本SN(注册码) 非破解版本。
RollBack 10.2 雨过天晴 20161207 请分别看压缩包注释,不用winRAR打开可能看不到哦。
注册机 雨过天晴海外版
RollBack.Rx.Pro.11.1 (crack)RollBack.Rx.Pro.11.1 (crack)RollBack.Rx.Pro.11.1 (crack)
1、用begin,rollback,commit来实现begin 开始一个事务rollback 事务回滚commit 事务确认 2、直接用set来改变mysql的自动提交模式MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过set ...
Win系统多点还原软件(RRx)RollBack Rx Pro V10.7无限制序列号版
安装$ gem install git-rollback用法$ git rollback贡献分叉( ) 创建功能分支( git checkout -b my-new-feature ) 提交更改( git commit -am 'Add some feature' ) 推送到分支( git push origin my-new-...
-集团管理与企业网络管理控制(免费的实用工具) -隐形模式 - 隐藏回滚接收托盘图标和启动画面(开机时所看到的) -更改启动热键为子控制台访问(默认是HOME) -内置的快照磁盘整理工具 - 优化系统资源,恢复自由...
1394B sp2(sp3)回滚 RollBack文件
SQL命令 以下17个是作为语句开头的关键字: alter drop revoke audit grant rollback* commit* insert select comment lock update create noaudit validate delete rename
原始的rollback-relationship.js缺少一些功能,以及与我的应用程序集成的一些问题。 我决定分配一些开发周期来构建此回滚扩展的mixin,以提供应用程序所需的缺少的功能。 该mixin支持cascade.persist关系回退(由...
1、用begin,rollback,commit来实现 begin 开始一个事务 rollback 事务回滚 commit 事务确认 2、直接用set来改变mysql的自动提交模式 MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过 ...
改进版cobar 原本cobar的commit/rollback操作和普通sql操作公用同一个线程池执行 可能造成死锁问题
执行BEGIN之后,其作用同set autocommit=0,而且之后设置set autocommit=0或1时无效。所以,为使操作清楚,一般不使用BEGIN。