JDBC——Connection数据库连接对象


功能

1.获取执行SQL的对象

方法:createStatement() 用于创建向数据库发送SQL语句的一个对象。
修饰/返回值类型:Statement(声明)

方法:prepareStatement(String sql) 用于创建向数据库发送SQL语句的一个对象。
修饰/返回值类型:PreparedStatement (准备好的 声明)

 

2.管理事物

事物:一个或一组SQL语句组成一个执行单元,要么全部执行,要么全不执行

开启事物
  方法:setAutoCommit(boolean autoCommit) 调用该方法设置参数为false即开启事物(autoCommit自动提交)false错true对
  修饰/返回值类型:void (空的)

提交事物
  方法:commit()
  修饰/返回值类型:

回滚事物
  方法:rollback()
  修饰/返回值类型:

 

 

 

 

package cn.itcast.jdbc;

import cn.itcast.util.JDBCUtils; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; /** * 事物操作 转账方法 */ public class JdbcDemo12 { public static void main(String[] args) { Connection conn = null; PreparedStatement pstmt1 = null; PreparedStatement pstmt2 = null; try { //1.获取去数据库连接 conn = JDBCUtils.getConnection(); //开启事物 conn.setAutoCommit(false); //2.定义SQL //2.1A的lowest_sal-500 String sql1 = " update job_grades set lowest_sal = lowest_sal-? where grade_level =?;"; //2.2B的lowest_sal+500 String sql2 = " update job_grades set lowest_sal = lowest_sal+? where grade_level =?;"; //3.获取执行SQL的对象 pstmt1 = conn.prepareStatement(sql1); pstmt2 = conn.prepareStatement(sql2); //4.设置参数 pstmt1.setDouble(1, 500); pstmt1.setString(2, "A"); pstmt2.setDouble(1, 500); pstmt2.setString(2, "B"); //5.执行SQL语句  pstmt1.executeUpdate(); //手动制造异常 int i = 3 / 0; pstmt2.executeUpdate(); //提交事物  conn.commit(); } catch (Exception e) {//只要出异常就回滚所以要用一个大的把异常都抓到 //出异常就会进入catch内,所以在这里进行回滚 try { if (conn != null) { conn.rollback(); } } catch (SQLException e1) { e1.printStackTrace(); } e.printStackTrace(); } finally { JDBCUtils.close(pstmt1, conn); JDBCUtils.close(pstmt2, null); } } }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM