【JDBC】API詳解
阿新 • • 發佈:2022-05-10
DriverManager 作用
作用就以下兩個:
- 註冊驅動
- 獲取資料庫連線
註冊驅動
Class.forName("com.mysql.cj.jdbc.Driver");
Driver 類原始碼如下,其中有一個靜態程式碼塊,真正的註冊驅動是由DriverManager.registerDriver(new Driver());
語句執行,該靜態程式碼塊可以隨著Driver類的載入自動執行。
public class Driver extends NonRegisteringDriver implements java.sql.Driver { public Driver() throws SQLException { } static { try { DriverManager.registerDriver(new Driver()); } catch (SQLException var1) { throw new RuntimeException("Can't register driver!"); } } }
注:mysql5之後的jar包可以不用寫
Class.forName();
方法來註冊驅動,可以省略,它會自動載入jar包中META-INF/services/java.sql.Driver檔案中的驅動類
獲取連線
static Connection getConnection(String url,String user,String password);
引數
- url:連線路徑,有固定語法
- 語法:
jdbc:mysql://ip地址(域名):埠號/資料庫名稱?引數鍵值對1&引數鍵值對2...
- 舉例:
jdbc:mysql://localhost:3306/db1
- 細節:
如果連線的是本機的mysql伺服器,ip地址可以寫:127.0.0.1,或者寫域名為localhost,如果同時mysql的埠號為預設的3306,那麼url可以簡寫為:jdbc:mysql:///資料庫名稱?引數鍵值對
配置useSSL=false引數,禁用安全連線方式(就是可能會出現提示說建議採用SSL方式的連線,但是由於沒有遇到就不寫了),解決警告提示
- user:使用者名稱
- password:密碼
Connection
作用:
- 獲取執行SQL的物件
- 管理事務
獲取執行SQL物件
- 普通執行SQL物件
Statement createStatement()
- 預編譯SQL的執行SQL物件,防止SQL注入
PreparedStatement prepareStatement(sql)
- 執行儲存過程的物件
CallableStatement prepareCall(sql)
事務管理
- MySQL事務管理
開啟事務
提交事務:COMMIT;
回滾事務:ROLLBACK