C/C++教程

JDBC事务

本文主要是介绍JDBC事务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JDBC事务

  1. JDBC是Java DataBase Connectivity的缩写,它是Java程序访问数据库的标准接口。

  2. ACID原则:原子性、一致性、独立性及持久性(保证数据安全!)

    1.开启事物
    2.事务提交(commit
    3.事物回滚(rollback
    4.关闭事物
    

    案例:银行卡转账。要么转账成功,卡a转出,卡b收到。要么卡a 未转出,卡b未收到。不能只有一方有数据更改。

  3. 示例:

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

这篇关于JDBC事务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!