最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JDBC連接Mysql的5種方式實例總結(jié)

 更新時間:2023年04月03日 14:16:31   作者:神筆碼農(nóng).  
JDBC是Java DataBase Connectivity技術(shù)的簡稱,是一種可用于執(zhí)行 SQL語句的Java API,下面這篇文章主要給大家介紹了關(guān)于JDBC連接Mysql的5種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

測試環(huán)境說明

mysql數(shù)據(jù)庫:jdbc:mysql://localhost:3306/test

IDE:IDEA 2022

JDK:JDK8

mysql:mysql 5.7

JDBC:5.1.37

第一種方式

使用靜態(tài)加載驅(qū)動方式,連接mysql

這種方式靈活性差,依賴性強

public void connection01() throws SQLException {
    // 注冊驅(qū)動
    Driver driver = new Driver();
    // 創(chuàng)建Properties對象,用于保存mysql賬號和密碼鍵值對
    Properties properties = new Properties();
    properties.setProperty("user", "root");
    properties.setProperty("password", "123456");
    String url = "jdbc:mysql://localhost:3306/test";
    // 得到mysql的連接
    Connection connection = driver.connect(url, properties);
    // 得到可以與mysql語句進行交互的對象
    Statement statement = connection.createStatement();
    // 關(guān)閉與 mysql語句進行交互的對象
    statement.close();
    // 關(guān)閉與mysql的連接
    connection.close();

第二種方式

在第一種方式的基礎(chǔ)上使用反射動態(tài)加載驅(qū)動,依賴性減小、靈活性提高

public void connection02() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
    // 使用反射動態(tài)加載mysql驅(qū)動件程序
    Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
    Driver driver = (Driver) aClass.newInstance();
    // 創(chuàng)建Properties對象,用于保存mysql賬號和密碼鍵值對
    Properties properties = new Properties();
    properties.setProperty("user", "root");
    properties.setProperty("password", "123456");
    String url = "jdbc:mysql://localhost:3306/test";
    // 得到mysql的連接
    Connection connection = driver.connect(url, properties);
    // 得到可以與mysql語句進行交互的對象
    Statement statement = connection.createStatement();
    // 關(guān)閉與 mysql語句進行交互的對象
    statement.close();
    // 關(guān)閉與 mysql語句進行交互的對象
    connection.close();
}

第三種方式

使用DriverManager統(tǒng)一進行管理

public void connection03() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
	// 使用反射動態(tài)加載mysql驅(qū)動件程序
    Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
    Driver driver = (Driver) aClass.newInstance();
    String user = "root";
    String password = "123456";
    String url = "jdbc:mysql://localhost:3306/test";
    // 使用DriverManager加載Driver
    DriverManager.registerDriver(driver);
    // 得到mysql的連接
    Connection connection = DriverManager.getConnection(url, user, password);
    // 得到可以與mysql語句進行交互的對象
    Statement statement = connection.createStatement();
    // 關(guān)閉與 mysql語句進行交互的對象
    statement.close();
    // 關(guān)閉與 mysql語句進行交互的對象
    connection.close();
}

第四種方式

其實Class.forName(“com.mysql.jdbc.Driver”)在底層已經(jīng)自動加載好了Driver實例

所以Driver driver = (Driver) aClass.newInstance();這句話可以省略

這種方式也是開發(fā)中使用最多的一種方式

public void connection04() throws ClassNotFoundException, SQLException {
    // 使用反射動態(tài)加載mysql驅(qū)動件程序
    Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
    String user = "root";
    String password = "123456";
    String url = "jdbc:mysql://localhost:3306/test";
    // 得到mysql的連接
    Connection connection = DriverManager.getConnection(url, user, password);
    // 得到可以與mysql語句進行交互的對象
    Statement statement = connection.createStatement();
    // 關(guān)閉與 mysql語句進行交互的對象
    statement.close();
    // 關(guān)閉與 mysql語句進行交互的對象
    connection.close();
}

第五種方式

mysql5.16后可以不用Class.forName(“com.mysql.jdbc.Driver”);來加載驅(qū)動了
從jdk1.5以后使用了jdbc4,不再需要顯示調(diào)用class.forName()注冊驅(qū)動而是自動調(diào)用驅(qū)動jar包下META-INF\services\java.sql.Driver文本中的類名稱去注冊
建議還是寫上 CLass . forName(“com.mysql.jdbc.Driver”),更加明確,兼容性更好

這里同時使用properties配置文件實現(xiàn)動態(tài)信息動態(tài)讀取,靈活性得到提升

推薦使用這種方式

src/com/mysql/mysql.properties配置文件內(nèi)容如下

url=jdbc:mysql://localhost:3306/test
user=root
password=123456

連接mysql程序

public void connection05() throws SQLException, ClassNotFoundException, IOException {
    // 使用Properties讀取配置文件下的內(nèi)容
    Properties properties = new Properties();
    properties.load(new FileInputStream("src/com/mysql/mysql.properties"));
    String url = properties.getProperty("url");
    String user = properties.getProperty("user");
    String password = properties.getProperty("password");
    // 得到mysql的連接
    Connection connection = DriverManager.getConnection(url, user, password);
    // 得到可以與mysql語句進行交互的對象
    Statement statement = connection.createStatement();
    // 關(guān)閉與 mysql語句進行交互的對象
    statement.close();
    // 關(guān)閉與 mysql語句進行交互的對象
    connection.close();
}

總結(jié)

到此這篇關(guān)于JDBC連接Mysql的5種方式的文章就介紹到這了,更多相關(guān)JDBC連接Mysql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • idea perttier的使用和縮進改為4不成功問題及解決

    idea perttier的使用和縮進改為4不成功問題及解決

    這篇文章主要介紹了idea perttier的使用和縮進改為4不成功問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java圖論弗洛伊德和迪杰斯特拉算法解決最短路徑問題

    java圖論弗洛伊德和迪杰斯特拉算法解決最短路徑問題

    這篇文章主要為大家介紹了java圖論弗洛伊德算法和迪杰斯特拉算法解決最短路徑的問題示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • eclipse實現(xiàn)可認證的DH密鑰交換協(xié)議

    eclipse實現(xiàn)可認證的DH密鑰交換協(xié)議

    這篇文章主要介紹了eclipse實現(xiàn)可認證的DH密鑰交換協(xié)議,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Java并發(fā)編程示例(九):本地線程變量的使用

    Java并發(fā)編程示例(九):本地線程變量的使用

    這篇文章主要介紹了Java并發(fā)編程示例(九):本地線程變量的使用,有時,我們更希望能在線程內(nèi)單獨使用,而不和其他使用同一對象啟動的線程共享,Java并發(fā)接口提供了一種很清晰的機制來滿足此需求,該機制稱為本地線程變量,需要的朋友可以參考下
    2014-12-12
  • Spring Boot集成Spring Cloud Eureka進行服務(wù)治理的方法

    Spring Boot集成Spring Cloud Eureka進行服務(wù)治理的方法

    本文通過詳細的步驟和代碼示例,介紹了如何在Spring Boot中集成Spring Cloud Eureka進行服務(wù)治理,通過這種方式,可以有效地管理和維護微服務(wù)架構(gòu)中的服務(wù),感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Java輕松使用工具類實現(xiàn)獲取wav時間長度

    Java輕松使用工具類實現(xiàn)獲取wav時間長度

    在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用工具類來獲取一個wav文件的時間長度,感興趣的同學(xué)繼續(xù)往下閱讀吧
    2021-10-10
  • Java為何需要平衡方法調(diào)用與內(nèi)聯(lián)

    Java為何需要平衡方法調(diào)用與內(nèi)聯(lián)

    這篇文章主要介紹了Java為何需要平衡方法調(diào)用與內(nèi)聯(lián),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-01-01
  • java代碼實現(xiàn)俄羅斯方塊

    java代碼實現(xiàn)俄羅斯方塊

    這篇文章主要為大家詳細介紹了java代碼實現(xiàn)俄羅斯方塊,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • IDEA報錯:java?找不到符號圖文解決過程

    IDEA報錯:java?找不到符號圖文解決過程

    這篇文章主要給大家介紹了關(guān)于IDEA報錯:java?找不到符號解決的相關(guān)資料,運行項目時Idea報錯,提示找不到符號,但是這個類在項目里是存在的,網(wǎng)上找了很多文章都沒解決,浪費了一個下午終于弄好了,記錄一下,需要的朋友可以參考下
    2023-08-08
  • 如何實現(xiàn)在IDEA中導(dǎo)入一個模塊

    如何實現(xiàn)在IDEA中導(dǎo)入一個模塊

    這篇文章主要介紹了如何實現(xiàn)在IDEA中導(dǎo)入一個模塊方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評論

阳江市| 鸡泽县| 南郑县| 普洱| 兴隆县| 历史| 长乐市| 靖江市| 东乌珠穆沁旗| 微山县| 隆安县| 胶州市| 汪清县| 昌吉市| 尚义县| 阳山县| 伊金霍洛旗| 旌德县| 和田市| 红安县| 临西县| 鲁甸县| 营口市| 崇左市| 平泉县| 常宁市| 娱乐| 蒙山县| 金华市| 柳江县| 花莲市| 洱源县| 兴和县| 麟游县| 兴安盟| 竹溪县| 玛曲县| 安乡县| 奉节县| 杂多县| 天镇县|