Home > Java > javaTutorial > When to use transactions in java

When to use transactions in java

王林
Release: 2020-02-03 10:29:27
Original
3269 people have browsed it

When to use transactions in java

When to use transactions?

1. If in actual business, a piece of data needs to be stored in two tables at the same time, and the data in the two tables are required to be synchronized, then a transaction management mechanism needs to be used to ensure data synchronization. If an error occurs, for example, data insertion into table 1 is successful but data insertion into table 2 fails, then it will be rolled back and the data persistence operation will be terminated.

2. Software development in the financial industry strictly attaches importance to transaction processing. For example, in our common transfer operations, the amount of one party's account decreases, which corresponds to the increase of the other party's account amount. This process requires the use of transaction mechanisms, otherwise The transfer cannot be successful.

Free learning video tutorial sharing: java video tutorial

Take JDBC transaction processing as an example:

public static void main(String[] args) throws SQLException, ClassNotFoundException {
        Class.forName("com.mysql.jdbc.Driver");
        String url = "jdbc:mysql://localhost:3306/user";
        String user = "root";
        String password = "123456";
        Connection con = (Connection) DriverManager.getConnection(url, user, password);
        try {
            //取消自动提交
            //如果设成false,那就是JDBC不自动提交,需要手动的使用commit或者rollback来进行提交或者回滚数据. 
            con.setAutoCommit(false);
            Statement stmt = (Statement) con.createStatement();
            //进行数据插入
            String sql = "insert into users(email,password) values('" + "jack@163.com" + "','" + "jack" + "');";
            boolean flag = stmt.execute(sql);
            System.out.println(flag);
            //人为制造一个错误,结果就是数据库并没有插入这条数据,也就是数据发生了回滚
            //异常被捕获之后,就不在执行下面的语句,而是执行catch中的语句
            //如果没有异常,数据就会被提交到数据库
            System.out.println(1/0);
            //手动提交
            con.commit();
        } catch (Exception e) {
            //如果发生错误,就回滚
            con.rollback();
        } finally {
            con.close();
        }
    }
Copy after login

Recommended related article tutorials: java Getting Started Tutorial

The above is the detailed content of When to use transactions in java. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template