一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

2021-11-12 13:31D_gloria? Java教程

C3P0是一個開源的JDBC連接池,它實現了數據源和JNDI綁定,本文就使用Spring實現,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言

        C3P0是一個開源的JDBC連接池,它實現了數據源和JNDI綁定,支持JDBC3規范和JDBC2的標準擴展,目前使用它的開源項目有Hibernate,Spring等。

 1、環境準備:maven配置

         打開idea,點擊“+”新建項目,選擇Spring,點擊next,填寫項目的名稱,點擊finish,新的Spring項目就建好了

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

        新建好的spring項目目錄如下,這里可以看到是沒有pom.xml文件的,為了更好管理spring項目,需要配置maven環境。點擊項目上方的file/settings

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

        點擊Build,Execution,Deployment/Build Tools/Maven,將User settings file和Local repository這兩處的地址改成下載的maven安裝包的地址以及安裝包下settings.xml配置文件的地址,點擊OK

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

        右擊項目名稱,點擊Add Framework Support,勾選Maven,點擊OK

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

        添加了maven之后可以看到項目出現了熟悉的maven項目的文件夾和pom.xml文件

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

2、導入jar包:c3p0-0.9.5.4.jar和mysql-connector-java.jar

         右擊項目名稱,點擊Open Modules Settings

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

         點擊Modules/Dependencies,點擊右側“+”號,jars or directories

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

         選擇jar包存儲的路徑,選中需要導入的jar包,點擊OK

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

         可以看到目錄下出現了剛剛導入的jar包,勾選它們點擊OK

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

        打開pom.xml文件,在maven里添加mysql和c3p0這兩個依賴

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

 3、編寫測試類測試連接

        c3p0創建數據源的方法有兩種:一是直接使用set將屬性設置到數據源中,若后續需要更改只能通過源碼更改,二是將屬性寫入properties文件,通過加載properties配置文件的形式創建數據源,可讀寫能力更強

        首先介紹第一種方法,本測試類寫在Test文件夾下,主要需要注意的點有:

①driveClass現在都更新為com.mysql.cj.jdbc.Driver,而并非以前用的com.mysql.jdbc.Driver

②jdbcUrl中一定要在末尾加serverTimezone=UTC這一語句,不然就會報Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone時間區錯誤

@Test
//測試手動創建c3p0數據源
public void test1() throws PropertyVetoException, SQLException {
    ComboPooledDataSource dataSource = new ComboPooledDataSource();
    dataSource.setDriverClass("com.mysql.cj.jdbc.Driver");
    dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/spring-test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC");
    dataSource.setUser("root");
    dataSource.setPassword("");
    Connection connection = dataSource.getConnection();
    System.out.println(connection);
    connection.close();
}

        運行后的結果如下,可以看到成功輸出了connection對象的地址,說明連接創建成功

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

         第二種方法,先在test文件夾的resources下新建properties配置文件,然后在properties里設置以下屬性值

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring-test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
jdbc.username=root
jdbc.password=

         本測試方法和第一種測試方法寫在同一個測試類里

@Test
//測試手動創建c3p0數據源(加載properties配置文件形式)
public void test2() throws PropertyVetoException, SQLException {
    //讀取配置文件
    ResourceBundle rb = ResourceBundle.getBundle("jdbc");
    String driver = rb.getString("jdbc.driver");
    String url = rb.getString("jdbc.url");
    String username = rb.getString("jdbc.username");
    String password = rb.getString("jdbc.password");
 
    //創建數據源對象,設置連接參數
    ComboPooledDataSource dataSource = new ComboPooledDataSource();
    dataSource.setDriverClass(driver);
    dataSource.setJdbcUrl(url);
    dataSource.setUser(username);
    dataSource.setPassword(password);
 
    Connection connection = dataSource.getConnection();
    System.out.println(connection);
    connection.close();
}

         運行之后可以看到同樣成功輸出connection對象的地址,說明連接創建成功

詳解IDEA2020新建spring項目和c3p0連接池的創建和使用

到此這篇關于詳解IDEA2020新建spring項目和c3p0連接池的創建和使用的文章就介紹到這了,更多相關spring創建c3p0連接池內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/D_gloria/article/details/119520996
 

延伸 · 閱讀

精彩推薦
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
主站蜘蛛池模板: 国产成人激情视频 | 2022国产麻豆剧果冻传媒入口 | 日韩一级免费毛片 | 无套暴躁白丝秘书 | 国产成人lu在线视频 | 精品91一区二区三区 | 日本一区免费观看 | 2020国产精品亚洲综合网 | 免费91麻豆精品国产自产在线观看 | 波多野结衣两女调教 | 亚洲第一页综合 | 18xxxx中国| 成人150p| 亚洲一级视频在线观看 | 日韩制服丝袜在线观看 | 成年人免费看的视频 | 隔壁老王国产在线精品 | 亚洲精品综合网 | 亚洲国产精品网站久久 | 欧美一级级a在线观看 | 日本三级欧美三级人妇英文 | 亚洲精品综合 | www.亚洲天堂 | 91色+91sesex| 乌克兰xxxxx| 嫩草影院永久在线播放 | 视频在线观看高清免费 | 911香蕉视频 | 欧美在线视频免费播放 | 日本中文字幕永久在线 | 亚洲国产在线视频中文字 | 亚洲 欧美 日本 国产 高清 | 操破苍穹全文阅读 | 美女扒开腿让男生桶爽漫画 | 国内精品在线观看视频 | 男神插曲女生动漫完整版动漫 | 日本成人高清视频 | 丝袜足控免费网站xx动漫漫画 | 男人j桶进女人p桶爽 | 四虎影视在线看 | 国产成人精品曰本亚洲77美色 |