使用MySQL的時候遇到的一下問題(一)

最近有空將以前學習的內容進行一下總結。發現之前一些舊的東西發生了一些變化。

最近在鏈接搭建數據庫,以前一直使用MySQL和Tomcat自帶的數據庫鏈接池進行學習(過一段時間在進行整理),可是如今想用一些其餘的鏈接池進行關聯,首先在網上查找了一些經常使用的鏈接池。例如:C3P0,Proxool,BoneCP等等(之後有空都進行一下嘗試)。

本次首先以C3P0進行試驗。

C3P0是什麼?是一個開放源代碼的JDBC鏈接池,它在lib目錄中與Hibernate一塊兒發佈,包括了實現jdbc3和jdbc2擴展規範說明的Connection 和Statement 池的DataSources 對象。

如何配置C3P0呢。

<?xml version="1.0" encoding="UTF-8"?>
        <c3p0-config>
            <default-config>
                <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/javaspringdb?useSSL=false;serverTimezone=UTC</property>
                <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
                <property name="user">root</property>
                <property name="password">19950609gxc</property> 
                <property name="checkoutTimeout">30000</property>
                <property name="idleConnectionTestPeriod">30</property>
                <property name="initialPoolSize">10</property>
                <property name="maxIdleTime">30</property>
                <property name="maxPoolSize">20</property>
                <property name="minPoolSize">10</property>
                <property name="maxStatements">200</property>
            </default-config>
      </c3p0-config>

以上是C3P0的配置文件,配置文件必需要放在src文件夾下

By default, c3p0 will look for an XML configuration file in its classloader's resource path under the name "/c3p0-config.xml". That means the XML file should be placed in a directly or jar file directly named in your applications CLASSPATH, in WEB-INF/classes, or some similar location . If you prefer not to bundle your configuration with your code, you can specify an ordinary filesystem location for c3p0's configuration file via the system property com.mchange.v2.c3p0.cfg.xml. 

意思是配置文件必須放在classpath路徑中,在web環境下就是classes

如今開始說明本次嘗試遇到的各類問題:

產生這個問題的使用的jar以下:

JDBC:mysql-connector-java-5.1.39-bin.jar

c3p0-0.9.5.2.jar

mchange-commons-java-0.2.11.jar

後面的兩個jar包是C3P0使用的jar包,開始運行結果的圖片以下:

產生上述問題的緣由是由於調用了低版本的jdbc。(Mysql和mysql-connector都爲8.0以上的版本時,鏈接驅動須要從com.mysql.jdbc.Driver了修改成com.mysql.cj.jdbc.Driver)

將上訴的jdbc換爲mysql-connector-java-8.0.13.jar

<?xml version="1.0" encoding="UTF-8"?>
        <c3p0-config>
            <default-config>
                <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/javaspringdb?useSSL=false;serverTimezone=UTC</property>
                <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
                <property name="user">root</property>
                <property name="password">19950609gxc</property> 
                <property name="checkoutTimeout">30000</property>
                <property name="idleConnectionTestPeriod">30</property>
                <property name="initialPoolSize">10</property>
                <property name="maxIdleTime">30</property>
                <property name="maxPoolSize">20</property>
                <property name="minPoolSize">10</property>
                <property name="maxStatements">200</property>
            </default-config>
      </c3p0-config>

配置文件該爲如上圖:(再次運行)

配置完以後產生上述的問題,主要的緣由在於配置文件的寫的有問題,以前查找了一些資料,可是配置c3p0的配置不一樣,形成配置文件寫成上面那樣,主要的緣由是由於在MySQL8.0的時候須要一個版本與數據相接近的jdbc。當將jdbc換到與數據庫相接近的時候,在將配置文件改成下圖:

JDBC:mysql-connector-java-8.0.11.jar

<?xml version="1.0" encoding="UTF-8"?>
        <c3p0-config>
            <default-config>
                <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/javaspringdb</property>
                <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
                <property name="user">root</property>
                <property name="password">19950609gxc</property> 
                <property name="checkoutTimeout">30000</property>
                <property name="idleConnectionTestPeriod">30</property>
                <property name="initialPoolSize">10</property>
                <property name="maxIdleTime">30</property>
                <property name="maxPoolSize">20</property>
                <property name="minPoolSize">10</property>
                <property name="maxStatements">200</property>
            </default-config>
      </c3p0-config>

運行結果以下:

此結果已經說明能夠與數據庫進行相連了。

(待完善)java

相關文章
相關標籤/搜索