溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

發(fā)布時間:2021-08-10 11:24:37 來源:億速云 閱讀:308 作者:小新 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

前言

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

 1、環(huán)境準備:maven配置

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

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

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

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

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

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

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

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

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

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

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

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

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

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

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

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

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

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

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

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

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

 3、編寫測試類測試連接

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

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

①driveClass現(xiàn)在都更新為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時間區(qū)錯誤

@Test
//測試手動創(chuàng)建c3p0數(shù)據(jù)源
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對象的地址,說明連接創(chuàng)建成功

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

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

IDEA2020如何新建spring項目和創(chuàng)建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
//測試手動創(chuàng)建c3p0數(shù)據(jù)源(加載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");
 
    //創(chuàng)建數(shù)據(jù)源對象,設置連接參數(shù)
    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對象的地址,說明連接創(chuàng)建成功

IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池

關于“IDEA2020如何新建spring項目和創(chuàng)建c3p0連接池”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI