import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Savepoint; public class JDBC { // static final的常量:1.直接初始化;2.通过static代码块初始化 private static final String url; private static final String user; private static final String password; private static final String driver; private static final String sql1 = ""; private static final String sql2 = ""; // 通过static代码块初始化常量也是可行的 static { url = ""; user = ""; password = ""; driver = ""; } public void jdbc() { try { // 实例化驱动 Class.forName(driver); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection con = null; PreparedStatement ps1 = null; PreparedStatement ps2 = null; Savepoint savepoint = null; try { // 获取数据库连接 con = DriverManager.getConnection(url, user, password); // 设置自动提交为false con.setAutoCommit(false); // 设置事务隔离级别 con.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ); // 进行事务操作 ps1 = con.prepareStatement(sql1); int rs1 = ps1.executeUpdate(sql1); // 设置保存点 savepoint = con.setSavepoint("SavePoint1"); ps2 = con.prepareStatement(sql2); int rs2 = ps2.executeUpdate(sql2); // 提交事务 con.commit(); // 设置事务自动提交为true con.setAutoCommit(true); } catch (SQLException e) { e.printStackTrace(); try { if (savepoint == null) { // 事务回滚到保存点 con.rollback(savepoint); // 再提交事务 con.commit(); } else { // 直接回滚 con.rollback(); } } catch (SQLException e1) { e1.printStackTrace(); } } finally { // 倒序关闭 try { if (ps1 != null) { ps1.close(); } } catch (SQLException e1) { e1.printStackTrace(); } try { if (ps2 != null) { ps2.close(); } } catch (SQLException e1) { e1.printStackTrace(); } try { if (con != null) { con.close(); } } catch (SQLException e) { e.printStackTrace(); } } } }
相关推荐
JDBC事务操作例子所需jar包JDBC事务操作例子所需jar包JDBC事务操作例子所需jar包JDBC事务操作例子所需jar包
二、JDBC事务操作 三、DBUtils事务操作 四、使用ThreadLocal绑定连接资源 五、事务的特性和隔离级别(概念性问题---面试)。 1.什么是事务 2.mysql的事务 1.QueryRunner 1.事务的特性ACID 2.并发访问问题----由...
(2)(2) 在BookShopDao中添加一个purchase购书方法,其操作流程是获取书的单价->买书(更新库存)->更新账户余额,在BookShopDaoImp中实现该方法,并使用基于XML和Annotation的声明式事务管理来确保该购书过程能正常...
2.MySQL数据库中操作事务命令 2.1.编写测试SQL脚本,如下: 2.2.开启事务(start transaction) 2.3.提交事务(commit) 2.4回滚事务(rollback) 3.JDBC中使用事务 3.1.JDBC使用事务范例 3.2设置...
JavaBean中使用JDBC方式进行事务处理方案 有详细的事物处理代码
JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等...
(2) 在BookShopDao中添加一个purchase购书方法,其操作流程是获取书的单价->买书(更新库存)->更新账户余额,在BookShopDaoImp中实现该方法,并使用基于XML和Annotation的声明式事务管理来确保该购书过程能正常执行...
jdbc事务练习_连接2个数据库 模拟一次转账操作,从oracle中取50到mysql的账户中; 2个数据库的user表都进行update操作 mysql的update失败会回滚oracle的update
Java-JDBC【之】事务介绍、事务特性、操作事务(事务提交、异常回滚) 1.数据库事务 1.1.介绍 1.2.事务特性(ACID) ...1.4.JDBC事务处理 2.事务提交(代码实现) 3.异常回滚(代码实现) 4.完整源码
本项目为一个简单的JDBC项目,包括:MySQL数据库在idea中的增删改查,JDBC简化,JDBC工具类封装,orm模式,数据库三层架构,JDBC事务 新建一个ProductManager的项目,实现利用ORM思想和三层架构以下功能: t_product...
(4)理解JDBC中实现事务处理的基本方法; (5)理解数据库连接池的基本原理和思想,学会在tomcat服务器中配置数据库连接池,并掌握从连接池中获取连接的基本方法。 (6)初步理解数据访问层的基本设计方法,理解web...
封装了java使用jdbc对mysql的操作,以及java使用jdbc对mysql的事务处理,对execute、executeUpdate、executeQuery进行了封装,把繁琐的创建数据库连接对象、PreparedStatement对象、结果集对象,打开关闭连接进行了...
不同的事务操作代码,包括 JTA全局事务 JDBC局部事务 以及包含了Hibernate事务
实验题2:向student表连续插入5条记录,使用JDBC事务保证插入操作正确性,若5条记录插入成功,则操作成功;否则回滚插入操作。 实验题3:给student表增加一pic字段,使之能存放图片,并通过程序存入图片和读取图片。...
◆两者都可以对数据库的更新操作进行显式的事务处理。 不同点: ◆使用的SQL语言不同:JDBC使用的是基于关系型数据库的标准SQL语言,Hibernate使用的是HQL(Hibernate query language)语言 ◆操作的对象不同:JDBC...
包括普通的增删查改,多条数据的增删改并封装成事务,结果返回到对象集合和list
第十二章 JDBC批处理操作批量处理允许您将相关的SQL语句分组到批处理中,并通过对数据库的一次调用提交它们。当您一次向数据库发送多个SQL语句时,可以减少连接
1、什么是JDBC; 2、理解JDBC原理、知道什么是JDBC驱动;3、知道JDBC的功能;4、掌握JDBC中几个重要类的使用:Connection、Statement、...7、理解数据库事务、JDBC对事务的支持、以及JDBC事务的原理和如何使用JDBC事务。
JDBC连接Oracle 11g及Mysql5,涉及传参,反射,读取属性文件,预处理,(预处理)批处理,带参数的存储过程,事务处理,可滚动的结果集,可更新的结果集
文章目录事务一、事务的基本介绍1、概念2、操作3、操作实例4、MySQL数据库中默认自动提交二、事务的四大特征三、事务的隔离级别1、概念2、存在的问题3、隔离级别四、Jdbc事务控制1、概述2、控制事务的API:3、核心...