JDBC如何獲取數(shù)據(jù)庫連接
JDBC(Java Database Connectivity),即Java數(shù)據(jù)庫連接。通過JDBC編程,可以使Java應(yīng)用程序和數(shù)據(jù)庫進(jìn)行交互。
JDBC驅(qū)動的方式有很多種,我們常用的驅(qū)動方式為:本地協(xié)議的純Java驅(qū)動程序。
JDBC編程的第一步,就是要獲取數(shù)據(jù)庫連接。所謂的 “獲取數(shù)據(jù)庫連接” 其實(shí)就是創(chuàng)建java.sql.Connection接口的實(shí)現(xiàn)對象。通過Connection的實(shí)現(xiàn)對象,可以使Java程序連接到數(shù)據(jù)庫,并修改和獲取數(shù)據(jù)庫信息。
獲取數(shù)據(jù)庫連接有兩種方式:1.通過java.sql.Driver接口獲取數(shù)據(jù)庫連接,2.通過java.sql.DriverManager(驅(qū)動管理類)獲取數(shù)據(jù)庫連接。
為了使程序更具有通用性,我們可以通過讀取配置文件的方式來獲取連接數(shù)據(jù)庫所需要的信息。這樣可以通過修改配置文件的方式,使Java程序連接到不同的數(shù)據(jù)庫。
在進(jìn)行JDBC編程前,要先導(dǎo)入數(shù)據(jù)庫廠商提供的JDBC驅(qū)動程序。
以下是獲取數(shù)據(jù)庫連接的兩種方式的程序演示。
[1] 通過java.sql.Driver接口獲取數(shù)據(jù)庫連接
/**
* 1.通過java.sql.Driver接口獲取數(shù)據(jù)庫連接
* 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.創(chuàng)建Driver對象
Driver driver = (Driver)Class.forName(driverName).newInstance();
Properties info = new Properties(); //driver的connect方法中需要一個(gè)Properties型的參數(shù)
info.put("user", user);
info.put("password", password);
//4.使用driver的connect方法獲取數(shù)據(jù)庫連接
Connection conn = driver.connect(url, info);
System.out.println( conn );
}
}
[2] 通過java.sql.DriverManager(驅(qū)動管理類)獲取數(shù)據(jù)庫連接
/**
* 1.通過java.sql.DriverManager(驅(qū)動程序管理類)獲取數(shù)據(jù)庫連接
* 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.加載驅(qū)動程序,即將數(shù)據(jù)庫廠商提供的Driver接口實(shí)現(xiàn)類加載進(jìn)內(nèi)存;
// 該驅(qū)動類中的靜態(tài)代碼塊包含有注冊驅(qū)動的程序,在加載類時(shí)將被執(zhí)行
Class.forName(driverName);
//4.通過DriverManager類的靜態(tài)方法getConnection獲取數(shù)據(jù)連接
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println( conn );
}
}
[3] 配置文件中需要的連接信息
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....] 替換成具體的數(shù)據(jù)庫名稱,[....2....] 替換成root密碼。
2. 在連接高版本的 MySQL 數(shù)據(jù)庫時(shí),要注意 driver 的包路徑 (高版本MySQL多了 “cj” ),url 連接地址的補(bǔ)充信息。(筆者的MySQL版本為8.0)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)之稀疏數(shù)組的實(shí)現(xiàn)與應(yīng)用
這篇文章主要為大家詳細(xì)介紹了Java數(shù)據(jù)結(jié)構(gòu)中稀疏數(shù)組的實(shí)現(xiàn)與應(yīng)用,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以了解一下2022-10-10
Java中二叉樹數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)示例
這篇文章主要介紹了Java中二叉樹數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)示例,包括前中后序遍歷和求二叉樹深度的方法,需要的朋友可以參考下2015-08-08
Elasticsearch算分優(yōu)化方案之rescore_query示例詳解
這篇文章主要為大家介紹了Elasticsearch算分優(yōu)化方案之rescore_query示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
java 數(shù)據(jù)結(jié)構(gòu)之棧與隊(duì)列
這篇文章主要介紹了java 數(shù)據(jù)結(jié)構(gòu)之棧與隊(duì)列的相關(guān)資料,這里對java中的棧和隊(duì)列都做出實(shí)現(xiàn)實(shí)例來幫助大家理解學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下2017-07-07
spring security中的默認(rèn)登錄頁源碼跟蹤
原來Spring Security有一個(gè)默認(rèn)的WebSecurityConfigurerAdapter,發(fā)現(xiàn)其中有一個(gè)init方法,于是在這個(gè)方法打了斷點(diǎn),在應(yīng)用啟動的時(shí)候進(jìn)行跟蹤,這篇文章主要介紹了spring security之 默認(rèn)登錄頁源碼跟蹤,需要的朋友可以參考下2021-11-11
mybatis-plus 使用Condition拼接Sql語句各方法的用法
這篇文章主要介紹了mybatis-plus 使用Condition拼接Sql語句各方法的用法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07

