JDBC編程:獲取數據庫連接


  JDBC(Java Database Connectivity),即Java數據庫連接。通過JDBC編程,可以使Java應用程序和數據庫進行交互。

  JDBC驅動的方式有很多種,我們常用的驅動方式為:本地協議的純Java驅動程序

  JDBC編程的第一步,就是要獲取數據庫連接。所謂的 “獲取數據庫連接” 其實就是創建java.sql.Connection接口的實現對象。通過Connection的實現對象,可以使Java程序連接到數據庫,並修改和獲取數據庫信息。

  獲取數據庫連接有兩種方式:1.通過java.sql.Driver接口獲取數據庫連接,2.通過java.sql.DriverManager(驅動管理類)獲取數據庫連接。

  為了使程序更具有通用性,我們可以通過讀取配置文件的方式來獲取連接數據庫所需要的信息。這樣可以通過修改配置文件的方式,使Java程序連接到不同的數據庫。

  在進行JDBC編程前,要先導入數據庫廠商提供的JDBC驅動程序

  以下是獲取數據庫連接的兩種方式的程序演示。

 

[1] 通過java.sql.Driver接口獲取數據庫連接

 1 /**
 2  * 1.通過java.sql.Driver接口獲取數據庫連接
 3  * 2.使用配置文件讀取連接信息,使程序更加靈活
 4  */
 5 package com.pack02;
 6 
 7 import java.io.InputStream;
 8 import java.sql.Connection;
 9 import java.sql.Driver;
10 import java.util.Properties;
11 
12 import org.junit.Test;
13 
14 public class TestDriver {
15 
16     @Test
17     public void testDriver() throws Exception {
18         
19         //1.將配置文件中的連接信息獲取到Properties對象中
20         InputStream is = 
21                 this.getClass().getClassLoader().getResourceAsStream("setting.properties");
22         
23         Properties setting = new Properties();
24         setting.load(is);
25         
26         //2.從Properties對象中讀取需要的連接信息
27         String driverName = setting.getProperty("driver");
28         String url = setting.getProperty("url");
29         String user = setting.getProperty("user");
30         String password = setting.getProperty("password");
31         
32         //3.創建Driver對象
33         Driver driver = (Driver)Class.forName(driverName).newInstance();
34         
35         Properties info = new Properties(); //driver的connect方法中需要一個Properties型的參數
36         info.put("user", user);
37         info.put("password", password);
38         
39         //4.使用driver的connect方法獲取數據庫連接
40         Connection conn = driver.connect(url, info);
41         System.out.println( conn );
42     }
43 }

 

[2] 通過java.sql.DriverManager(驅動管理類)獲取數據庫連接

 1 /**
 2  * 1.通過java.sql.DriverManager(驅動程序管理類)獲取數據庫連接
 3  * 2.使用配置文件讀取連接信息,使程序更加靈活
 4  */
 5 package com.pack02;
 6 
 7 import java.io.InputStream;
 8 import java.sql.Connection;
 9 import java.sql.DriverManager;
10 import java.util.Properties;
11 
12 import org.junit.Test;
13 
14 public class TestDriverManager {
15     
16     @Test
17     public void testDriverManager() throws Exception {
18         
19         //1.將配置文件中的連接信息獲取到Properties對象中
20         InputStream is = 
21                 this.getClass().getClassLoader().getResourceAsStream("setting.properties");
22                 
23         Properties setting = new Properties();
24         setting.load(is);
25                 
26         //2.從Properties對象中讀取需要的連接信息
27         String driverName = setting.getProperty("driver");
28         String url = setting.getProperty("url");
29         String user = setting.getProperty("user");
30         String password = setting.getProperty("password");
31         
32         //3.加載驅動程序,即將數據庫廠商提供的Driver接口實現類加載進內存;
33         //  該驅動類中的靜態代碼塊包含有注冊驅動的程序,在加載類時將被執行
34         Class.forName(driverName);
35         
36         //4.通過DriverManager類的靜態方法getConnection獲取數據連接
37         Connection conn = DriverManager.getConnection(url, user, password);
38         System.out.println( conn );
39     }
40 }

 

[3] 配置文件中需要的連接信息

1 driver=com.mysql.cj.jdbc.Driver
2 url=jdbc:mysql://127.0.0.1:3306/[....1....]?serverTimezone=GMT%2B8&useSSL=false
3 user=root
4 password=[....2....]

  注意:1. 上述信息中,[....1....] 替換成具體的數據庫名稱,[....2....] 替換成root密碼。

     2. 在連接高版本的 MySQL 數據庫時,要注意 driver 的包路徑 (高版本MySQL多了 “cj” ),url 連接地址的補充信息。(筆者的MySQL版本為8.0)

 

注:希望與各位讀者相互交流,共同學習進步。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM