1.1什麼是JDBC?
JDBC(java database connectivity): sun公司為了簡化和統一java連線資料庫,定義的一套規範(API,介面).
2.1.1當我們沒有jdbc的時候,我們連線各種不同的伺服器的時候就要用不同伺服器的驅動去連線對應的伺服器,如下圖
2.1.2當我們有了JDBC以後,我們只需要使用JDBC就能連線各種不同的伺服器,讓java連線/運算元據庫更加的簡單方便, 學習成本減低 ,如下圖
介面(JDBC)與實現(驅動jar包)的關係
-- 建立表頭
CREATE TABLE product(
pid int PRIMARY KEY auto_increment,
pname VARCHAR(40),
price double,
num int
);
-- 指定列新增資料
INSERT INTO product(pname,price,num)VALUES("huawei",1998.8,10);
INSERT INTO product(pname,price,num)VALUES("小米",1888.8,20);
INSERT INTO product(pname,price,num)VALUES("Mac",2000.8,20);
查詢所有的使用者, 輸出到控制檯
建立Java工程, 拷貝驅動jar包
載入驅動
獲得連線
建立執行sql語句物件
執行sql語句, 處理結果
釋放資源
1.建立java模組並匯入jar包
2.寫程式碼
public class Test {
public static void main(String[] args) throws Exception {
// 1.匯入驅動jar包到模組的lib資料夾下,並新增到classpath路徑中
// 2.載入驅動(註冊)
DriverManager.registerDriver(new Driver());
// 3.獲得連線
String url = "jdbc:mysql://127.0.0.1:3306/Text";
//定義資料庫使用者名稱的字串
String user = "root";
//定義資料庫連線密碼的字串
String password = "root";
//建立資料庫連線物件,並寫入資料庫使用者名稱,密碼
Connection connection = DriverManager.getConnection(url, user, password);
// 4.建立執行sql語句的物件
Statement statement = connection.createStatement();
// 5.執行sql語句,處理結果
String sql = "select * from product";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
System.out.println(resultSet.getObject("pid"));
System.out.println(resultSet.getObject("pname"));
System.out.println(resultSet.getObject("price"));
System.out.println(resultSet.getObject("num"));
}
// 6.釋放資源
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
}
註冊驅動
獲得連線
建立執行sql語句物件
執行sql語句 處理結果
釋放資源