欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JDBC如何獲取數(shù)據(jù)庫(kù)連接

 更新時(shí)間:2018年08月20日 09:09:55   作者:Killer-V  
這篇文章主要為大家詳細(xì)為大家詳細(xì)介紹了JDBC如何獲取數(shù)據(jù)庫(kù)連接,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

JDBC(Java Database Connectivity),即Java數(shù)據(jù)庫(kù)連接。通過JDBC編程,可以使Java應(yīng)用程序和數(shù)據(jù)庫(kù)進(jìn)行交互。

JDBC驅(qū)動(dòng)的方式有很多種,我們常用的驅(qū)動(dòng)方式為:本地協(xié)議的純Java驅(qū)動(dòng)程序。

JDBC編程的第一步,就是要獲取數(shù)據(jù)庫(kù)連接。所謂的 “獲取數(shù)據(jù)庫(kù)連接” 其實(shí)就是創(chuàng)建java.sql.Connection接口的實(shí)現(xiàn)對(duì)象。通過Connection的實(shí)現(xiàn)對(duì)象,可以使Java程序連接到數(shù)據(jù)庫(kù),并修改和獲取數(shù)據(jù)庫(kù)信息。

獲取數(shù)據(jù)庫(kù)連接有兩種方式:1.通過java.sql.Driver接口獲取數(shù)據(jù)庫(kù)連接,2.通過java.sql.DriverManager(驅(qū)動(dòng)管理類)獲取數(shù)據(jù)庫(kù)連接。

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

在進(jìn)行JDBC編程前,要先導(dǎo)入數(shù)據(jù)庫(kù)廠商提供的JDBC驅(qū)動(dòng)程序。

以下是獲取數(shù)據(jù)庫(kù)連接的兩種方式的程序演示。 

[1] 通過java.sql.Driver接口獲取數(shù)據(jù)庫(kù)連接

/**
 * 1.通過java.sql.Driver接口獲取數(shù)據(jù)庫(kù)連接
 * 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對(duì)象中
  InputStream is = 
    this.getClass().getClassLoader().getResourceAsStream("setting.properties");
  
  Properties setting = new Properties();
  setting.load(is);
  
  //2.從Properties對(duì)象中讀取需要的連接信息
  String driverName = setting.getProperty("driver");
  String url = setting.getProperty("url");
  String user = setting.getProperty("user");
  String password = setting.getProperty("password");
  
  //3.創(chuàng)建Driver對(duì)象
  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ù)庫(kù)連接
  Connection conn = driver.connect(url, info);
  System.out.println( conn );
 }
} 

[2] 通過java.sql.DriverManager(驅(qū)動(dòng)管理類)獲取數(shù)據(jù)庫(kù)連接

/**
 * 1.通過java.sql.DriverManager(驅(qū)動(dòng)程序管理類)獲取數(shù)據(jù)庫(kù)連接
 * 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對(duì)象中
  InputStream is = 
    this.getClass().getClassLoader().getResourceAsStream("setting.properties");
    
  Properties setting = new Properties();
  setting.load(is);
    
  //2.從Properties對(duì)象中讀取需要的連接信息
  String driverName = setting.getProperty("driver");
  String url = setting.getProperty("url");
  String user = setting.getProperty("user");
  String password = setting.getProperty("password");
  
  //3.加載驅(qū)動(dòng)程序,即將數(shù)據(jù)庫(kù)廠商提供的Driver接口實(shí)現(xiàn)類加載進(jìn)內(nèi)存;
  // 該驅(qū)動(dòng)類中的靜態(tài)代碼塊包含有注冊(cè)驅(qū)動(dòng)的程序,在加載類時(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ù)庫(kù)名稱,[....2....] 替換成root密碼。

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA?2021.3?使用及idea2021.3.1激活使用方法

    IDEA?2021.3?使用及idea2021.3.1激活使用方法

    IDEA?全稱?IntelliJ?IDEA,是java語(yǔ)言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一,今天通過本文給大家介紹idea2021.3.1激活及使用教程,感興趣的朋友一起看看吧
    2022-01-01
  • 深入解析kafka 架構(gòu)原理

    深入解析kafka 架構(gòu)原理

    Kafka使用領(lǐng)域非常廣泛,在大數(shù)據(jù)時(shí)代kafka使用真香,LinkedIn、Microsoft和Netflix每天都用Kafka處理萬(wàn)億級(jí)的信息。本文就讓我們一起來大白話kafka的架構(gòu)原理,感興趣的朋友一起看看吧
    2021-11-11
  • 一些java二進(jìn)制的相關(guān)基礎(chǔ)知識(shí)

    一些java二進(jìn)制的相關(guān)基礎(chǔ)知識(shí)

    這篇文章主要介紹了一些java二進(jìn)制的相關(guān)基礎(chǔ)知識(shí),在Java語(yǔ)言中byte代表最小計(jì)量單位,byte由8位2進(jìn)制數(shù)組成。,需要的朋友可以參考下
    2019-06-06
  • Java實(shí)現(xiàn)按照大小寫字母順序排序的方法

    Java實(shí)現(xiàn)按照大小寫字母順序排序的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)按照大小寫字母順序排序的方法,涉及java數(shù)組遍歷、編碼轉(zhuǎn)換、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • Java中@ConfigurationProperties實(shí)現(xiàn)自定義配置綁定問題分析

    Java中@ConfigurationProperties實(shí)現(xiàn)自定義配置綁定問題分析

    這篇文章主要介紹了@ConfigurationProperties實(shí)現(xiàn)自定義配置綁定問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • springboot解決Class path contains multiple SLF4J bindings問題

    springboot解決Class path contains multiple 

    這篇文章主要介紹了springboot解決Class path contains multiple SLF4J bindings問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java設(shè)置Map過期時(shí)間的的幾種方法舉例詳解

    Java設(shè)置Map過期時(shí)間的的幾種方法舉例詳解

    本文詳細(xì)介紹了Java中使用輕量級(jí)緩存組件ExpiringMap以及Guava的LoadingCache緩存機(jī)制,ExpiringMap提供了Map自動(dòng)過期、監(jiān)聽事件等功能,而LoadingCache提供了緩存回收、數(shù)據(jù)加載等高級(jí)功能,兩者為Java項(xiàng)目提供了有效的數(shù)據(jù)管理和緩存解決方案,需要的朋友可以參考下
    2024-10-10
  • Springboot整合mqtt服務(wù)的示例代碼

    Springboot整合mqtt服務(wù)的示例代碼

    MQTT是一個(gè)基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。MQTT協(xié)議是輕量、簡(jiǎn)單、開放和易于實(shí)現(xiàn)的,這些特點(diǎn)使它適用范圍非常廣泛。本文為大家分享了Springboot整合mqtt服務(wù)的示例代碼,需要的可以參考一下
    2022-03-03
  • SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)Sqlite的實(shí)踐

    SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)Sqlite的實(shí)踐

    sqlite這樣的內(nèi)存數(shù)據(jù)庫(kù),小巧可愛,做小型服務(wù)端演示程序,非常好用,本文主要介紹了SpringBoot集成Sqlite,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • SpringMVC方法返回值多種情況代碼實(shí)例

    SpringMVC方法返回值多種情況代碼實(shí)例

    這篇文章主要介紹了SpringMVC方法返回值多種情況代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論