JDBC連線(Java連結資料庫)
阿新 • • 發佈:2020-12-24
技術標籤:資料庫MySQLJDBCjavamysqljdbc
文章目錄
1.JDBC概念以及本質
* 概念:Java DataBase Connectivity,Java資料庫連線,Java語言操作資料庫
* 本質:官方定義了一套操作關係型資料庫的規則,即介面,各個資料庫廠商去實現這套介面,提供資料庫驅動的jar包,我們可以使用這套介面程式設計,真正執行的程式碼是驅動jar包的實現類。
2.JDBC的快速入門步驟
1.匯入jar包(文章末尾有連結)
* 複製jar包到工程目錄下 * 右鍵點選工程,進行Add as Library
2.註冊驅動
//1.載入驅動
Class.forName("com.mysql.cj.jdbc.Driver");
3.獲取資料庫連線物件 Connection
Connection connection = DriverManager.getConnection("url","資料庫使用者名稱","資料庫密碼");
注意:如果遇到時區問題,在url後面加上?serverTimezone=UTC
4.定義SQL語句
String sql = "update stu set address = '河南' where id = 4" ;
SQL語句可以寫增刪改查語句
5.獲取執行SQL的物件Statement
Statement statement = connection.createStatement();
6.執行SQL語句
boolean execute = statement.execute(sql);
可以返回Boolean型別,也可以返回int型別
7.處理返回的結果
System.out.println(execute);
列印結果,這個結果不重要,重要的是資料庫中的資料是否改變
8.釋放資源
statement.close();
connection.close();
3.詳解程式碼中各個物件
1.DriverManager:驅動管理物件
* 功能
1.註冊驅動:告訴程式該使用哪一個資料庫驅動jar包
2.獲取資料庫連線:
* 方法:getConnection(String url, String user, String password)
* 引數:
* url:指定連線的路徑(mysql,其他資料庫存在差異)
* 語法:jdbc:mysql://ip地址(域名):埠號/資料庫名稱
* 例子:jdbc:mysql://localhost:3306/mydb1
* user:資料庫使用者名稱
* password:資料庫密碼
2.Connection:資料庫連線物件
* 功能
1. 獲取執行SQL的物件
* Statement createStatement()
* PreparedStatement prepareStatement(String sql)
2.管理事務:
* 開啟事務:setAutoCommit(boolean autoCommit) :設定該方法引數為false,即開啟事務
* 提交事務:commit()
* 回滾事務:rollback()
3.Statement:執行SQL物件
1.執行SQL
1. boolean execute(String sql) :執行給定的 SQL 語句,該語句可能返回多個結果。(瞭解)
2. int executeUpdate(String sql) :執行DML語句或DDL語句
* 返回值:影響的行數 ,可以通過這個影響的行數來判斷DML語句是否執行成功,返回值>0則成功,反之則失敗
3. ResultSet executeQuery(String sql) :執行DQL語句,
4.ResultSet:結果集物件(執行DQL語句中出現)封裝查詢結果
1. 方法
* next()方法:將游標從當前位置向前移一行。(最開始游標在表頭行)如上圖所示
* getXxx(引數),獲取資料
* Xxx:代表資料型別 比如getInt,getString
* 引數:
1. int型別:代表列的編號,從1開始 如:getString(1),表示獲取第1列
2. String型別:代表列名稱。 如:getInt("age"),表示獲取age列(常用)
* 注意:
* 使用步驟
1.遊標向下移動一行
2.判斷是否有資料
3.獲取資料
* 可以用while迴圈獲取結果集
2.例項語句
//迴圈判斷遊標是否是最後一行
while (resultSet.next()){
//獲取資料
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
String sex = resultSet.getString("sex");
String address = resultSet.getString("address");
System.out.println( id + "," + name + "," + age + "," + sex + "," + address );
}
4.具體例項程式碼及結果演示
public static void main(String[] args) throws Exception {
//1.載入驅動
Class.forName("com.mysql.cj.jdbc.Driver");
//2.建立連線物件
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb1?serverTimezone=UTC","root","root");
//3.建立SQL命令物件
Statement statement = connection.createStatement();
//4.獲取結果集物件
String sql = "select * from stu";
ResultSet resultSet = statement.executeQuery(sql);
//5.操作結果集
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
String sex = resultSet.getString("sex");
String address = resultSet.getString("address");
System.out.println( id + "," + name + "," + age + "," + sex + "," + address );
}
//6.釋放資源
resultSet.close();
statement.close();
connection.close();
}
結果展示
這就是用Java程式碼操作資料庫,後期還會分享一些關於這類知識,希望大家多多關注!
mysql的jar包獲取方式:
連結:https://pan.baidu.com/s/1jKst2LAUHz-Jhzh4RHPhnQ
提取碼:vfmh