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(); } }