关键字: jdbc 学习笔记(四)
JDBC 学习笔记(四)
五、JDBC中使用Transaction编程(事务编程)
1. 事务是具备以下特征(ACID)的工作单元:
Ø 原子性(Atomicity)—— 如果因故障而中断,则所有结果均被撤消;
Ø 一致性(Consistency)—— 事务的结果保留不变;
Ø 孤立性(Isolation)—— 中间状态对其它事务是不可见的;
Ø 持久性(Durability)—— 已完成的事务结果上持久的。
原子操作,也就是不可分割的操作,必须一起成功一起失败。
2. 事务处理三步曲:(事务是一个边界)
① connection.setAutoCommit(false); //把自动提交关闭
② 正常的DB操作 //若有一条SQL语句失败了,自动回滚
③ connection.commit() //主动提交
或 connection.rollback() //主动回滚
-
-
try{
-
con.setAutoCommit(false);
- Statement stm = con.createStatement();
-
stm.executeUpdate("insert into person(id, name, age) values(520, 'X-Man', 18)");
-
stm.executeUpdate("insert into Person(id, name, age) values(521, 'Super', 19)");
-
-
con.commit();
-
} catch(SQLException e){
-
try{
- con.rollback();
-
} catch(Exception e){ e.printStackTrace(); }
- }
//完整的代码片段:
try{
con.setAutoCommit(false); //step① 把自动提交关闭
Statement stm = con.createStatement();
stm.executeUpdate("insert into person(id, name, age) values(520, 'X-Man', 18)");
stm.executeUpdate("insert into Person(id, name, age) values(521, 'Super', 19)");
//step② 正常的DB操作
con.commit(); //step③ 成功主动提交
} catch(SQLException e){
try{
con.rollback();
} catch(Exception e){ e.printStackTrace(); } //step③ 失败则主动回滚
}
try {
con = ConnectionManager.getConnction();
con.setAutoCommit(false);//false是什么意思
....
pStatement.executeUpdate();
con.commit();//commit是什么意思
con.setAutoCommit(true);//这里又来个true又是什么意思
} catch (SQLException sqlE) {
sqlE.printStackTrace();
try {
con.rollback();//是不是当操作失败的时就回滚呀
} catch (Exception e) {
e.printStackTrace();
}
} finally {
try {
pStatement.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
} }
try {
con = ConnectionManager.getConnction();
con.setAutoCommit(false);//false是什么意思
....
pStatement.executeUpdate();
con.commit();//commit是什么意思
con.setAutoCommit(true);//这里又来个true又是什么意思
} catch (SQLException sqlE) {
sqlE.printStackTrace();
try {
con.rollback();//是不是当操作失败的时就回滚呀
} catch (Exception e) {
e.printStackTrace();
}
} finally {
try {
pStatement.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
} }
try {
con = ConnectionManager.getConnction();
con.setAutoCommit(false);//false是什么意思
....
pStatement.executeUpdate();
con.commit();//commit是什么意思
con.setAutoCommit(true);//这里又来个true又是什么意思
} catch (SQLException sqlE) {
sqlE.printStackTrace();
try {
con.rollback();//是不是当操作失败的时就回滚呀
} catch (Exception e) {
e.printStackTrace();
}
} finally {
try {
pStatement.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
} }
分享到:
相关推荐
JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单...
JDBC规范 java.sql和javax.sql两个包中的类与接口(天龙八部): DataSource:数据源 DriverManager:驱动管理 Driver:JDBC驱动 Connection:数据库连接 Statement:语句,执行SQL PrepareStatement:...
赠送jar包:sqlite-jdbc-3.15.1.jar; 赠送原API文档:sqlite-jdbc-3.15.1-javadoc.jar; 赠送源代码:sqlite-jdbc-3.15.1-sources.jar; 赠送Maven依赖信息文件:sqlite-jdbc-3.15.1.pom; 包含翻译后的API文档:...
Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm7Dictionary.jar dm_jdbc\Dm7JdbcDriver14.jar dm_jdbc\Dm7JdbcDriver15.jar dm_jdbc\Dm7JdbcDriver16....
赠送jar包:sqlite-jdbc-3.34.0.jar; 赠送原API文档:sqlite-jdbc-3.34.0-javadoc.jar; 赠送源代码:sqlite-jdbc-3.34.0-sources.jar; 赠送Maven依赖信息文件:sqlite-jdbc-3.34.0.pom; 包含翻译后的API文档:...
1、在应用中jdbc url最前面添加jdbc:log4;比如oracle的url就变成了jdbc:log4jdbc:oracle:thin:@x.x.x.x:1521:dbname; 2、在日志系统中设置jdbc.sqlonly、jdbc.sqltiming等日志级别,可直接将log4jdbc doc中的日志...
jdbc jdbc jdbc jdbc jdbc jdbc jdbc jdbc
它属于 Type 4 JDBC 驱动程序,通过 Java 平台(企业版 5、6 和 7)中可用的标准 JDBC 应用程序接口 (API) 提供数据连接。 适用于 SQL Server 的 Microsoft JDBC Driver 4.1(预览版)与 JDBC 4.0 兼容,并且可以在...
sqljdbc.jar 类库提供对 JDBC 3.0 的支持。 sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。连接到数据库时,在 JRE 6.0 上使用 sqljdbc.jar 会引发异常。 注意: JDBC Driver 2.0 不支持 JRE 1.4。...
SUN JDK 1.6/1.7 64bit的JDBC-ODBC Bridge有个缺陷:会随机抛出异常如下,在所有的ODBC Driver上。 java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid string or buffer length at sun.jdbc.odbc....
hive-jdbc
sqlserver驱动包 jdbc驱动 sqljdbc.jar sqljdbc4.jar jdbc连接sqlserver数据库驱动, sqljdbc.jar和sqljdbc4.jar均有
SQL Server JDBC Driver 3.0,这是一个 Type 4 JDBC 驱动程序,它通过 Java Platform, Enterprise Edition 5 及更高版本中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。 系统要求: •支持的操作系统:...
Microsoft SQL Server JDBC Driver 3.0.JSP驱动。
现在的数据层的开发,大多会使用...但是在一些极端的场景下往往原生的jdbc方式操作数据库更灵活,性能更高。由于部分场景下MyBatis或JPA之类无法满足我的需求,所以我打算自己封装一套查数据库的工具类。 文章地址: ...
JDBC 解析JDBC中文API各种数据库之间的链接问题,网络编程
./logstash-plugin prepare-offline-pack --overwrite --output logstash-input-jdbc.zip logstash-input-jdbc 最后成功会出现以下信息 You can install it with this command `bin/logstash-plugin install file...
JDBC代码 JDBC代码JDBC代码 JDBC代码
sap JDBC数据源配置sap JDBC数据源配置sap JDBC数据源配置
JavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源代码 jdbc2_0-stdextJavaEE源...