上接:数据库事务:只读事务
说明
只读事务不能执行增删改操作,否则会报错
数据库在只读事务中,会进行优化,提高性能,但经过对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();
}
}
}
}