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
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
/** * 1.通過java.sql.driver接口獲取數據庫連接 * 2.使用配置文件讀取連接信息,使程序更加靈活 */ package com.pack02; import java.io.inputstream; import java.sql.connection; import java.sql.driver; import java.util.properties; import org.junit.test; public class testdriver { @test public void testdriver() throws exception { //1.將配置文件中的連接信息獲取到properties對象中 inputstream is = this .getclass().getclassloader().getresourceasstream( "setting.properties" ); properties setting = new properties(); setting.load(is); //2.從properties對象中讀取需要的連接信息 string drivername = setting.getproperty( "driver" ); string url = setting.getproperty( "url" ); string user = setting.getproperty( "user" ); string password = setting.getproperty( "password" ); //3.創建driver對象 driver driver = (driver) class .forname(drivername).newinstance(); properties info = new properties(); //driver的connect方法中需要一個properties型的參數 info.put( "user" , user); info.put( "password" , password); //4.使用driver的connect方法獲取數據庫連接 connection conn = driver.connect(url, info); system.out.println( conn ); } } |
[2] 通過java.sql.drivermanager(驅動管理類)獲取數據庫連接
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
/** * 1.通過java.sql.drivermanager(驅動程序管理類)獲取數據庫連接 * 2.使用配置文件讀取連接信息,使程序更加靈活 */ package com.pack02; import java.io.inputstream; import java.sql.connection; import java.sql.drivermanager; import java.util.properties; import org.junit.test; public class testdrivermanager { @test public void testdrivermanager() throws exception { //1.將配置文件中的連接信息獲取到properties對象中 inputstream is = this .getclass().getclassloader().getresourceasstream( "setting.properties" ); properties setting = new properties(); setting.load(is); //2.從properties對象中讀取需要的連接信息 string drivername = setting.getproperty( "driver" ); string url = setting.getproperty( "url" ); string user = setting.getproperty( "user" ); string password = setting.getproperty( "password" ); //3.加載驅動程序,即將數據庫廠商提供的driver接口實現類加載進內存; // 該驅動類中的靜態代碼塊包含有注冊驅動的程序,在加載類時將被執行 class .forname(drivername); //4.通過drivermanager類的靜態方法getconnection獲取數據連接 connection conn = drivermanager.getconnection(url, user, password); system.out.println( conn ); } } |
[3] 配置文件中需要的連接信息
1
2
3
4
|
driver=com.mysql.cj.jdbc.driver url=jdbc:mysql: //127.0.0.1:3306/[....1....]?servertimezone=gmt%2b8&usessl=false user=root password=[.... 2 ....] |
注意:
1. 上述信息中,[....1....] 替換成具體的數據庫名稱,[....2....] 替換成root密碼。
2. 在連接高版本的 mysql 數據庫時,要注意 driver 的包路徑 (高版本mysql多了 “cj” ),url 連接地址的補充信息。(筆者的mysql版本為8.0)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/EarthPioneer/p/9500267.html