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