中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

SpringBoot怎么集成Druid連接MySQL8.0.11

發布時間:2022-04-02 15:53:18 來源:億速云 閱讀:276 作者:iii 欄目:移動開發

這篇“SpringBoot怎么集成Druid連接MySQL8.0.11”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“SpringBoot怎么集成Druid連接MySQL8.0.11”文章吧。

1.配置依賴

依賴管理我們可以使用maven或者gradle
MySQL Connector/J版本選擇:

SpringBoot怎么集成Druid連接MySQL8.0.11

注意:如果是MySQL5.X系列的話,使用8.0.X的驅動會有兼容性問題出現,請留意!

1.1MySQL Connector/J依賴配置 maven

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.11</version>
</dependency>

gradle

// https://mvnrepository.com/artifact/mysql/mysql-connector-java
compile group: "mysql", name: "mysql-connector-java", version: "8.0.11"

1.2Druid依賴配置

 maven

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.10</version>
</dependency>

####gradle

// https://mvnrepository.com/artifact/com.alibaba/druid
compile group: "com.alibaba", name: "druid", version: "1.1.10"

2.配置DataSource

這里我們使用Java Config。我在使用YAML配置的時候,發現代碼提示不完整,這大大增加了出錯的可能性,所以推薦使用Java Config。

 2.1創建配置類

@Configuration
public class Config {
    @Bean
    public DruidDataSource druidDataSource() {
        //Druid 數據源配置
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/work?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true");
        dataSource.setUsername("webuser");
        dataSource.setPassword("123456");
        //初始連接數(默認值0)
        dataSource.setInitialSize(8);
        //最小連接數(默認值0)
        dataSource.setMinIdle(8);
        //最大連接數(默認值8,注意"maxIdle"這個屬性已經棄用)
        dataSource.setMaxActive(32);
        return dataSource;
    }
}

2.2注意事項

部分注釋寫在代碼里面了,這里說兩個注意事項
一個是DriverClassName
8.0.11驅動(應該是8版本開始),棄用了原來的方法,我們直接去看源碼也能找到。
com.mysql.jdbc.Driver里面有兩句話

Loading class `com.mysql.jdbc.Driver". This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver"
The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

意思是加載類“com.mysql.jdbc.Driver”。 這已被棄用。 新的驅動程序類是`com.mysql.cj.jdbc.Driver" 所以注意一個屬性的設置“setDriverClassName” 另一個注意事項是URL的設置,有4個參數需要注意一下

  • characterEncoding=utf8 (字符編碼)

  • useSSL=false (發現是8版本開始才需要添加,5.X印象中不需要,添加這個參數可能和MySQL的SSL連接設置有關系)

  • serverTimezone=UTC (當連接數據庫時候,出現Time Zone錯誤時添加此參數,我貌似是使用Druid連接池時才出現的這個問題)

  • allowPublicKeyRetrieval=true (使用root賬戶登陸沒問題,使用普通賬戶會提示Public Key Retrieval錯誤)

更多配置,請參考Druid項目中的wiki,根據需求進行配置

SpringBoot怎么集成Druid連接MySQL8.0.11

以上就是關于“SpringBoot怎么集成Druid連接MySQL8.0.11”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

金华市| 新津县| 莲花县| 桑植县| 弋阳县| 会宁县| 宜兰县| 望谟县| 太湖县| 阿拉善盟| 乌鲁木齐市| 图们市| 正安县| 定南县| 尉犁县| 南康市| 宜昌市| 精河县| 桃园县| 阜新| 黑山县| 郎溪县| 罗山县| 博白县| 新丰县| 饶平县| 五华县| 黄石市| 开化县| 绥棱县| 德令哈市| 延边| 丹江口市| 扶沟县| 肥西县| 定兴县| 彰化市| 德化县| 五家渠市| 邵武市| 宣武区|