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事务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11国产医疗级心电ECG采集处理模块
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南