MySQL之JDBC(概述)
阿新 • • 發佈:2020-12-15
技術標籤:Msql之jdbc基本概念mysqljdbcjava
JDBC入門
JDBC基本步驟
- 載入資料庫驅動
- 獲取連線物件
- 獲取執行sql語句的執行物件
- 執行sql語句
- 處理結果
- 關閉資源
//1.載入資料庫驅動
Class.forName("com.mysql.jdbc.Driver"); //新版驅動需在jdbc前面新增cj
//2.獲取資料庫連線物件
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//庫名","使用者名稱","使用者密碼" );
//3.獲取處理sql語句的物件
Statement stat = conn.createStatement();
//4.執行sql(當執行結果為resultset(執行select操作時)時返回值為true,其他任何時候都是false)
boolean f = stat.execute("sql語句");
//5.處理結果
Systen.out.println(f);
//6.關閉資源
stat.close();
conn.close();
JDBC常見的類與介面
- DriverManager
該類用於管理驅動的註冊 - Connection
該介面是JDBC的核心介面,用於實現應用程式與資料庫管理系統進行通訊,該介面可以向資料庫傳送執行sql語句並返回到程式中,該介面為資料庫與應用程式的一個會話介面- createStatement() :獲取一個用於執行sql語句的執行物件,主要用於執行靜態的sql(存在SQL注入風險)
- parepareStatement(String sql) :獲取一個預處理sql語句的執行物件,預先對sql語句編譯,一般用於執行動態sql(解決SQL注入風險)
- prepareCall(String sql):獲取一個用於預處理sql儲存過程的執行物件,主要用於執行儲存過程(procedure)
- setAutoCommit(boolean b):設定事物是否自動提交
- commit():提交事務
- rollback():事物回滾
- getMetaData(): 獲取資料庫的元資料物件(DatabaseMetaData),包含了資料庫的詳細資訊
- Statement與PreparedStatement
Statement:
該介面用於執行sql語句,擁有一些執行sql語句的方法
**常見的方法有:**
execute(String sql):用於執行任何的sql語句
executeQuery(String sql):主要用於執行sql查詢(Select)操作
executeUpdate(String sql):主要用於執行sql更新(insert,update,delete)操作以及DDL操作
addBatch(String sql):用於將sql語句新增到當前Statement物件的命令列表中用於批量執行sql
executeBatch():用於將一批(多條sql)sql命令同時執行
getResultSet():獲取執行當前SQL語句之後的結果集物件(ResultSet)
getGeneratedKeys():獲取自動生成的鍵所在結果集
PreparedStatement:
該介面繼承Statement介面,可以說是優化了一些功能;
ResultSet
結果集物件,用於表示對查詢語句執行之後的結果,顯示多條或者一條資料
常見方法:
-
boolean next():判斷是否有下一個結果行
-
getXXX(int index):根據列索引獲取列值
-
getXXX(String columnLabel):根據列標籤(預設列名)獲取值
-
ResultSetMetaData getMetaData():返回結果集的元資料
-
小總結:
基本jdbc主要內容為以上內容,當進入jdbc高階時,將上面這些程式碼進行封裝,到時候使用僅需呼叫即可,以上jdbc主要程式碼以及步驟需多加練習並保證默寫下來