JDBC事务机制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | package com.jdbc.test; import java.sql.*; /** * 数据库的引擎必须是innodb */ public class Demo02 { PreparedStatement preparedStatement = null ; Connection connection = null ; Statement statement = null ; public static void main(String[] args) throws SQLException, ClassNotFoundException { Demo02 demo02 = new Demo02(); demo02.connect(); } public void connect() throws ClassNotFoundException, SQLException { Class.forName( "com.mysql.jdbc.Driver" ); connection = DriverManager.getConnection( "jdbc:mysql://127.0.0.1:3306/jdjk?useSSL=false" , "root" , "kkk" ); // 关闭默认提交 connection.setAutoCommit( false ); statement = (Statement) connection.createStatement(); try { String sql = "insert into jdjk_java(name,age) values('alex',10)" ; statement.execute(sql); System.out.println( "第一条数据插入完成" ); Thread.sleep( 3000 ); String sql2 = "insert into jdjk_java(name,age) values('alex',10)" ; statement.execute(sql2); System.out.println( "第二条数据也插入完成" ); connection.commit(); statement.close(); connection.close(); } catch (Exception e) { System.out.println(e.getMessage()); System.out.println( "第二条数据出错,滚动成功" ); connection.rollback(); } finally { // 关闭连接 statement.close(); connection.close(); } } } |
技术改变一切
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何统计不同电话号码的个数?—位图法
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 长文讲解 MCP 和案例实战
· 基于Blazor实现的运输信息管理系统
· 微信支付功能的设计实现与关键实践(UniApp+Java)全代码
· 用c#从头写一个AI agent,实现企业内部自然语言数据统计分析
· 三维装箱问题(3D Bin Packing Problem, 3D-BPP)
· MCP协议Streamable HTTP