亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2018年08月20日 09:09:55   作者:Killer-V  
這篇文章主要為大家詳細(xì)為大家詳細(xì)介紹了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?2021.3?使用及idea2021.3.1激活使用方法

    IDEA?全稱?IntelliJ?IDEA,是java語言開發(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ù)時代kafka使用真香,LinkedIn、Microsoft和Netflix每天都用Kafka處理萬億級的信息。本文就讓我們一起來大白話kafka的架構(gòu)原理,感興趣的朋友一起看看吧
    2021-11-11
  • 一些java二進(jìn)制的相關(guān)基礎(chǔ)知識

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

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

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

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

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

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

    springboot解決Class path contains multiple 

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

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

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

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

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

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

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

    SpringMVC方法返回值多種情況代碼實例

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

最新評論