数据库事务:验证只读事务

数据库事务 目录

上接:数据库事务:只读事务

说明

  • 只读事务不能执行增删改操作,否则会报错

  • 数据库在只读事务中,会进行优化,提高性能,但经过对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();
            }
        }
    }
}

原文出处:/show_1IX78YztCep2.html