package com.yqy.t; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class TestTransaction { public static void main(String[] args) { Connection conn = null; PreparedStatement pstmt = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; conn = DriverManager.getConnection(url,"scott","tiger"); conn.setAutoCommit(false);//设置jdbs的提交方式为手动,默认为自动提交 String sql = "insert into dept values(?,?,?)";//用prepare的方式 pstmt = conn.prepareStatement(sql); pstmt.setInt(1, 91); pstmt.setString(2, "duke"); pstmt.setString(3, "NH"); pstmt.addBatch();//加入批量处理 pstmt.setInt(1, 92); pstmt.setString(2, "Silin"); pstmt.setString(3, "US"); pstmt.addBatch();//加入批量处理 /* statement写法: stmt = conn.createStatement(); stmt.addBatch("insert into dept values(51,'nn','hs'); stmt.addBatch("insert into dept values(52,'aa','as'); stmt.executeBatch(); */ pstmt.executeBatch();//提交批量处理executeBatch conn.commit();//提交之前的处理 conn.setAutoCommit(true);//记着要把提交方式再改成默认的方式。 } catch(ClassNotFoundException e) { e.printStackTrace(); } catch(SQLException e) {//有sql异常时,要回滚 e.printStackTrace(); try{ if(conn != null) {//如果检测到有异常,那么对操作进行回滚 conn.rollback();//回滚 conn.setAutoCommit(true);//因为异常原因,对提交方式再改成默认的,保险 } } catch(SQLException e2) {//e变量名已经被用了 e2.printStackTrace(); } } finally {//最后再关闭连接 try{ if(pstmt != null){ pstmt.close(); pstmt = null; } if(conn != null){ conn.close(); conn = null; } } catch(SQLException e){ e.printStackTrace(); } } } }
相关推荐
1.事务(Transaction)的概念 2.MySQL数据库中操作事务命令 2.1.编写测试SQL脚本,如下: 2.2.开启事务(start transaction) 2.3.提交事务(commit) 2.4回滚事务(rollback) 3.JDBC中使用事务 3.1....
jar包大小:93KB commons-transaction-1.2.jar jar包大小:141KB commons-scxml-0.6.jar jar包大小:254KB commons-primitives-1.0.jar jar包大小:60KB commons-pool-1.3.jar jar包大小:176KB commons-net-1.4.1.jar ...
dbsclab09- Advanced SQL: Transaction
kotlin-coroutines-jdbc:用于使用Kotlin Coroutines与阻止JDBC驱动程序进行交互的库
oracle-事务oracle-transaction信息管理与信息系统.doc
ORACLE-事务ORACLE-TRANSACTION-信息管理与信息系统本科毕业设计.doc
oracle-事务oracle-transaction信息管理与信息系统学士学位论文.doc
spring-hibernate-maven-transaction整合
PCIe协议栈:Transaction Layer:事务层,Data Link Layer:数据链路层,Physical Layer:物理层解析; PCIe 数据包TLP(Transaction Layer Packet)详细解析; NVMe协议解析:SQ,CQ,DB; 主机读写SSD流程详解。
04-infosec-101-for-icos-how-the-most-secure-transaction-protocol-failed
描述了usb transfer,transaction,packet和frame的关系,对理解usb spec很有帮助
「工控安全」asec-w04-derived-unique-token-per-transaction - APT 数据泄露 工控安全 勒索软件 大数据 APT攻击
来自Bea权威的内容,能够从中学到JDBC的理论知识,解决你长期混淆不清的概念,促进你更好进行JDBC开发
分布式简易事务回滚框架:biz-center-base-transaction
压缩包中包含mysql-connector-java-5.1.12.jar和mysql-connector-java-5.1.47.jar两个jar包,根据我测试结果,mysql-connector-java-5.1.12.jar对应的是transaction_isolation,mysql-connector-java-5.1.47.jar对应...
信息安全_数据安全_asec-w04-derived-unique-token-per-transaction 安全分析 企业安全 安全验证 安全 网络犯罪
此文档是X/OPEN DTP的TX规范,后续还会有XA规范上传。
JAVA网络编程资料(4)-相关API—Java Transaction API概述(1).chm
标签:javax、transaction、api、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...
Java JTA 与 JDBC 类似,也是 Java 中的一种规范,JDBC 定义了 Java 应用程序如何访问数据库,而 JTA 则定义 Java 应用程序如何实现分布式事务。 Java 中与数据库相关的技术还包括 JPA,它们都分别提供了一套事务 ...