JDBC-Connection

JDBC-Connection

Connection(数据库连接对象)作用:

  1. 获取执行SQL的对象
    • 普通执行SQL对象
      Statement createStatement()
    • 预编译SQL的执行SQL对象:防止SQL注入
      PreparedStatement prepareStatement(sql)
    • 执行存储过程的对象
      CallableStatement prepareCall(sql)
  2. 事务管理
    • MySQL事务管理
      • 开启事务:BEGIN; START TRANSACTION;
      • 提交事务:COMMIT;
      • 回滚事务:ROLLBACK;
      • MySQL默认自动提交事务
    • JDBC事务管理:Connection接口中定义了3个对应的方法
      • 开启事务:setAutoCommit(boolean autoCommit): true为自动提交事务;false为手动提交事务,即为开启事务。
      • 提交事务:commit()
      • 回滚事务:rollback()
try {
            // 开启事务
            conn.setAutoCommit(false);
            // 5. 换行sql
            int count1 = stmt.executeUpdate(sql1);    // 受影响的行数
            // 6. 处理结果
            System.out.println(count1);

            // 制造异常
            int i = 3 / 0;

            // 5. 换行sql
            int count2 = stmt.executeUpdate(sql2);    // 受影响的行数
            // 6. 处理结果
            System.out.println(count2);

            // 提交事务
            conn.commit();
        } catch (Exception throwables) {
            // 回滚事务
            conn.rollback();
            throwables.printStackTrace();
        }

        // 7. 释放资源
        stmt.close();
        conn.close();