package jdbc;

import java.sql.*;

public class JDBCTransaction {

public static void transaction(){
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

    Connection conn = null;
    PreparedStatement ps = null;
    /**********  Begin   **********/
    //连接数据库并开启事务
    try {
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "123456");
        conn.setAutoCommit(false);
        ps = conn.prepareStatement("insert into student(id,name,sex,age) values(4,'赵六','女',21)");
        ps.executeUpdate();
        conn.commit();
        ps = conn.prepareStatement("insert in student(id,name,sex,age) values(5,'钱七','男',18)");
        ps.executeUpdate();
        conn.commit();
    } catch (SQLException e) {
        try {
            //事务回滚
            conn.rollback();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
    /**********  End   **********/
    finally {
        try {
            if(ps!=null)
                ps.close();
            if (conn != null)
                conn.close();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
}
编程要求根据提示在右侧编辑器补充代码编写一条新增SQL语句和任意一条错误的SQL语句提交事务;要求第一条新增语句在数据库中被修改其后错误SQL语句不执行。正确的新增插入语句如下:在mydb数据库student表中新增一条id为4name为赵六sex为女age为21的数据。错误的SQL语句如下:ps = connprepareStatementinsert in studentidnamesexag

原文地址: https://www.cveoy.top/t/topic/fJVL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录