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ù)庫連接” 其實就是創(chuàng)建java.sql.Connection接口的實現(xiàn)對象。通過Connection的實現(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方法中需要一個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接口實現(xiàn)類加載進(jìn)內(nèi)存; // 該驅(qū)動類中的靜態(tài)代碼塊包含有注冊驅(qū)動的程序,在加載類時將被執(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ù)庫時,要注意 driver 的包路徑 (高版本MySQL多了 “cj” ),url 連接地址的補充信息。(筆者的MySQL版本為8.0)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
IDEA?2021.3?使用及idea2021.3.1激活使用方法
IDEA?全稱?IntelliJ?IDEA,是java語言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一,今天通過本文給大家介紹idea2021.3.1激活及使用教程,感興趣的朋友一起看看吧2022-01-01一些java二進(jìn)制的相關(guān)基礎(chǔ)知識
這篇文章主要介紹了一些java二進(jìn)制的相關(guān)基礎(chǔ)知識,在Java語言中byte代表最小計量單位,byte由8位2進(jìn)制數(shù)組成。,需要的朋友可以參考下2019-06-06Java中@ConfigurationProperties實現(xiàn)自定義配置綁定問題分析
這篇文章主要介紹了@ConfigurationProperties實現(xiàn)自定義配置綁定問題,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08springboot解決Class path contains multiple 
這篇文章主要介紹了springboot解決Class path contains multiple SLF4J bindings問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07SpringBoot集成內(nèi)存數(shù)據(jù)庫Sqlite的實踐
sqlite這樣的內(nèi)存數(shù)據(jù)庫,小巧可愛,做小型服務(wù)端演示程序,非常好用,本文主要介紹了SpringBoot集成Sqlite,具有一定的參考價值,感興趣的可以了解一下2021-09-09