MySQL8 JDBC / c3p0が接続できません

mysql8をインストールした後でのみ、違いを知っていました...
mysql8のオンライン接続ソリューションを統合しました

  1. ドライバーの変更が
    元のcom.mysql.jdbc.Driver
    から現在のcom.mysql.cj.jdbc.Driverに変更されました
  2. URLには、さらにいくつかのパラメーター値があり
    ますjdbc:mysql:// localhost:3306 /データベース名?useSSL = false&serverTimezone = Hongkong&characterEncoding = utf-8&autoReconnect = true

インターネット上には、**&(javascriptの&エスケープ文字。基本的に&)**を使用してパラメータを接続するバージョンが他にもいくつかあること注意してください。実際、&の使用法はさまざまです。URLがプログラムコードで記述されている場合は、&を使用して接続する必要があります。URLがタグで囲まれたxml(applicationContext.xml)で記述されている場合は、次のようになります。 &を直接使用するとエラーが報告されることがわかりました。現時点ではのみを使用できます
3.pom.xmlのドライバーも更新する必要があります。使用しているドライバーのバージョンは次のとおりです。

 		<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>

テストコード

jdbcUrl構成は、&接続パラメーターを使用してプログラムに記述されます

@Test
    // 手动创建c3p0数据源
    public void test1() throws Exception {
    
    
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        dataSource.setDriverClass("com.mysql.cj.jdbc.Driver");
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Hongkong&characterEncoding=utf-8&autoReconnect=true");
        dataSource.setUser("root");
        dataSource.setPassword("root");

        Connection connection = dataSource.getConnection();
        System.out.println(connection);
        connection.close();
    }

jdbcUrlはapplicationContext.xmlファイルに書き込まれ、&amp;と記述する必要があります。

<!--数据源对象-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.cj.jdbc.Driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test?useSSL=false&amp;serverTimezone=Hongkong&amp;characterEncoding=utf-8&amp;autoReconnect=true"/>
        <property name="user" value="root"/>
        <property name="password" value="root"/>
    </bean>

試験結果
接続に成功しました

総括する:

mysql 8バージョンの構成が大幅に変更されました。変更後のDriverClassとURLの表現、および構成ファイルでドライバーが更新され、Springフレームワークの構成が&amp;である場合の&の表現に注意してください。

この教材はインターネット上の知識の統合です。侵害がある場合は、通知して削除してください。

おすすめ

転載: blog.csdn.net/interestANd/article/details/112687173