当前位置:Gxlcms > 数据库问题 > 事务的学习,从jdbc开始:jdbc对事务的支持与实现

事务的学习,从jdbc开始:jdbc对事务的支持与实现

时间:2021-07-01 10:21:17 帮助过:27人阅读

  但是在开发过程中,一个事务通常会管理一组SQL统一的提交,来保证数据的安全。

  这时,就需要Connection#setAutoCommit(false)来阻止Connection的自动提交,并通过Connection#setTransactionIsolation()设置事务的隔离级别(具体可以百度)。

  当sql准备完成后,再通过Connection#commit提交事务,或者通过Connection#rollback()回滚事务

  代码示例:

package jdbcTransactionDemo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

import org.junit.Test;

public class transactionDemo {
    @Test
    public void demo() throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/test", "root", "123456");
        conn.setAutoCommit(false);//关闭自动提交机制
        conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);//设置事务隔离级别
        
        try {
            Statement stmt=conn.createStatement();
            int rows=stmt.executeUpdate("insert into user(user_name,password) values(\"小明\",\"psw123456\")");
            System.out.println(rows);
            rows=stmt.executeUpdate("update user set user_name=\"小红\" where user_name=\"小明\"");
            System.out.println(rows);
        conn.commit();
//事务提交 }catch (Exception e) { System.out.println("事务回滚了"); e.printStackTrace(); conn.rollback();//事务回滚 } } }

 

事务的学习,从jdbc开始:jdbc对事务的支持与实现

标签:一个   getc   jdb   语句   mysql   处理   oid   pre   comm   

人气教程排行