数据库事务:验证只读事务 作者:马育民 • 2024-02-12 14:10 • 阅读:10013 [数据库事务 目录](https://www.malaoshi.top/show_1IX78Dfyq6nS.html "数据库事务 目录") 上接:[数据库事务:只读事务](https://www.malaoshi.top/show_1IX78DdNub5M.html "数据库事务:只读事务") # 说明 - 只读事务不能执行增删改操作,否则会报错 - 数据库在只读事务中,会进行优化,提高性能,但经过对MySQL数据库测试,速度提升不大 ``` /** * 只读事务不能执行增删改操作 * @param args */ public static void main(String[] args) { System.out.println("只读事务,执行多次查询"); String driver = "com.mysql.cj.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/test?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai"; String sql = "insert into student ( id,name,age ) values ( 3 , 'lucy' , 20 )"; Connection connection = null; try { connection = Db.connect(driver,url,"root","root"); System.out.println("启用事务"); connection.setAutoCommit(false); System.out.println("设置只读事务"); connection.setReadOnly(true); int n = Db.update(connection,sql); } catch (Exception e) { e.printStackTrace(); }finally { if(connection!=null){ try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 原文出处:https://malaoshi.top/show_1IX78YztCep2.html