黑馬視頻b站鏈接:
01-JDBC簡介&快速入門_嗶哩嗶哩_bilibili
🐶一、JDBC 簡介
JDBC 概念:
-
JDBC 就是使用 Java 語言操作關系型數據庫的一套 API。
-
全稱(Java DataBase Connectivity) Java 數據庫連接
JDBC 本質:
-
官方(sun 公司)定義的一套操作所有關系型數據庫的規則,即接口
-
各個數據庫廠商去實現這套接口,提供數據庫驅動 jar 包
-
我們可以使用這套接口(Jdbc)編程,真正執行的代碼是驅動 jar 包中的實現類
-
組成包:java.sql。*;javax.sql.*;這兩個包都包含在了 JDK 中。
JDBC 好處:
各數據庫廠商使用相同的接口,Java 代碼不需要針對不同數據庫分別開發
可隨時替換底層數據庫,訪問數據庫的 Java 代碼基本不變。
🐶二、Idea 導入 Mysql8.0 驅動 jar 包
Idea 導入Mysql8.0驅動jar包-CSDN博客
🐶三、開發步驟
0. 創建一個 java 項目,導入 mysql 的數據庫驅動 jar 包--驅動包
1. 注冊驅動
//方法1-創建mysql的驅動對象
DriverManager.registerDriver(new Driver());//方法2-1. 注冊驅動
Class.forName("com.mysql.jdbc.Driver");
2. 獲取與數據庫的鏈接
要創建一個數據庫連接,您需要提供以下連接信息:
-
JDBC URL:用于標識數據庫的地址,包括數據庫的類型、主機名、端口號(如下示例端口號為 3306)和數據庫名稱(如下示例數據庫名稱為 doit46_day01)。JDBC URL 的格式因數據庫而異,例如 MySQL 和 Oracle 的 JDBC URL 格式不同。
-
用戶名:連接數據庫時使用的用戶名。
-
密碼:連接數據庫時使用的密碼。
//使用驅動管理器,鏈接mysql
String url="jdbc:mysql://localhost:3306/doit46_day01?characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
String username="root";
String password="123456";
Connection conn= DriverManager.getConnection(url,username,password);
3. 定義 SQL 語句
String sql="insert into student values(7,'zs',703)";
4. 得到代表發送和執行 SQL 語句的對象 Statement
//可以使用鏈接對象,向mysql中傳遞sql語句
//傳遞sql語句有一個專門的對象來進行傳遞。
Statement state=conn.createStatement();
5. 執行語句
//開始執行sql
//返回值是該條sal影響了多少行數據
int num=state.executeUpdate(sql);
if(num!=0){System.out.println("添加成功");
}else{System.out.println("添加失敗");
}
6. 如果執行的是查詢語句,就會有結果集,處理
String sql="select * from Student";Statement statement=connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()){int id=resultSet.getInt("sid");String name=resultSet.getString("sname");String rid=resultSet.getString("rid");System.out.println(id+"---"+name+"---"+rid);
}
7. 釋放占用的資源
state.close();
conn.close();
Student 數據庫
🧀代碼實例1:
package test;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;public class testDemo06 {public static void main(String[] args) throws ClassNotFoundException, SQLException {//1. 注冊驅動Class.forName("com.mysql.jdbc.Driver");//使用驅動管理器,鏈接mysqlString url="jdbc:mysql://localhost:3306/doit46_day01?characterEncoding=utf-8&serverTimezone=Asia/Shanghai";String username="root";String password="123456";Connection conn= DriverManager.getConnection(url,username,password);//可以使用鏈接對象,向mysql中傳遞sql語句//傳遞sql語句有一個專門的對象來進行傳遞。Statement state=conn.createStatement();String sql="insert into student values(8,'zs',703)";//開始執行sql//返回值是該條sal影響了多少行數據int num=state.executeUpdate(sql);if(num!=0){System.out.println("添加成功");}else{System.out.println("添加失敗");}state.close();conn.close();}
}
結果:
🧀實例代碼2:
package test;import com.mysql.jdbc.Driver;import java.sql.*;public class TestDemo07 {public static void main(String[] args) throws SQLException {DriverManager.registerDriver(new Driver());String url="jdbc:mysql://localhost:3306/doit46_day01?characterEncoding=utf-8&serverTimezone=Asia/Shanghai";String username="root";String password="123456";Connection connection = DriverManager.getConnection(url, username, password);String sql="select * from Student";Statement statement=connection.createStatement();ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()){int id=resultSet.getInt("sid");String name=resultSet.getString("sname");String rid=resultSet.getString("rid");System.out.println(id+"---"+name+"---"+rid);}connection.close();statement.close();}
}
結果:
?