JDBC事务
2021/9/11 23:08:45
本文主要是介绍JDBC事务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JDBC事务
-
JDBC是Java DataBase Connectivity的缩写,它是Java程序访问数据库的标准接口。
-
ACID原则:原子性、一致性、独立性及持久性(保证数据安全!)
1.开启事物 2.事务提交(commit 3.事物回滚(rollback 4.关闭事物
案例:银行卡转账。要么转账成功,卡a转出,卡b收到。要么卡a 未转出,卡b未收到。不能只有一方有数据更改。
-
示例:
public static void test() { //配置信息 String url="jdbc:mysql://localhost:3306/jdbc?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false"; String userName="root"; String pwd="123456"; Connection connection=null; try{ //加载驱动 Class.forName("com.mysql.cj.jdbc.Driver"); //连接数据库 connection= DriverManager.getConnection(url, userName, pwd); //开启事物,false为开启 connection.setAutoCommit(false); String sql1="update student.accounts set money=money-1000 where id=2 "; connection.prepareStatement(sql1).executeUpdate(); //制造错误 //int i=1/0; String sql2="update student.accounts set money=money+1000 where id=1 "; connection.prepareStatement(sql2).executeUpdate(); connection.commit();//两条SQL都执行成功 }catch (Exception e){ try { connection.rollback(); } catch (SQLException throwables) { throwables.printStackTrace(); } e.printStackTrace(); }finally { System.out.println("SUCCESSFUL!"); try { connection.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } }
这篇关于JDBC事务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-04安装 VPrix Desktop 的系统要求-icode9专业技术文章分享
- 2024-05-01巧用 TiCDC Syncpoint 构建银行实时交易和准实时计算一体化架构
- 2024-05-01银行核心背后的落地工程体系丨Oracle - TiDB 数据迁移详解
- 2024-04-26高性能表格工具VTable总体构成-icode9专业技术文章分享
- 2024-04-16软路由代理问题, tg 无法代理问题-icode9专业技术文章分享
- 2024-04-16程序猿用什么锅-icode9专业技术文章分享
- 2024-04-16自建 NAS 的方案-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数, 加上remote_src: yes 配置-icode9专业技术文章分享
- 2024-04-14ansible 检测远程主机的8080端口,如果关闭,则echo 进程已关闭-icode9专业技术文章分享