SpringBoot集成Druid連接池連接MySQL8.0.11
這篇博客簡(jiǎn)單介紹spring boot集成druid連接池的簡(jiǎn)單配置和注意事項(xiàng)本次使用的是MySQL8.0.11版本前提:一個(gè)已經(jīng)搭建好的Spring Boot項(xiàng)目和可以使用的數(shù)據(jù)庫注意:MySQL8.0.X的配置和5.7.X有小差異,整體思路完全一樣
1.配置依賴依賴管理我們可以使用maven或者gradleMySQL Connector/J版本選擇:
注意:如果是MySQL5.X系列的話,使用8.0.X的驅(qū)動(dòng)會(huì)有兼容性問題出現(xiàn),請(qǐng)留意!
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-javacompile 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/druidcompile group: ’com.alibaba’, name: ’druid’, version: ’1.1.10’2.配置DataSource
這里我們使用Java Config。我在使用YAML配置的時(shí)候,發(fā)現(xiàn)代碼提示不完整,這大大增加了出錯(cuò)的可能性,所以推薦使用Java Config。
2.1創(chuàng)建配置類@Configurationpublic class Config { @Bean public DruidDataSource druidDataSource() {//Druid 數(shù)據(jù)源配置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');//初始連接數(shù)(默認(rèn)值0)dataSource.setInitialSize(8);//最小連接數(shù)(默認(rèn)值0)dataSource.setMinIdle(8);//最大連接數(shù)(默認(rèn)值8,注意'maxIdle'這個(gè)屬性已經(jīng)棄用)dataSource.setMaxActive(32);return dataSource; }}2.2注意事項(xiàng)
部分注釋寫在代碼里面了,這里說兩個(gè)注意事項(xiàng)一個(gè)是DriverClassName8.0.11驅(qū)動(dòng)(應(yīng)該是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”。 這已被棄用。 新的驅(qū)動(dòng)程序類是`com.mysql.cj.jdbc.Driver’ 所以注意一個(gè)屬性的設(shè)置“setDriverClassName” 另一個(gè)注意事項(xiàng)是URL的設(shè)置,有4個(gè)參數(shù)需要注意一下
characterEncoding=utf8 (字符編碼) useSSL=false (發(fā)現(xiàn)是8版本開始才需要添加,5.X印象中不需要,添加這個(gè)參數(shù)可能和MySQL的SSL連接設(shè)置有關(guān)系) serverTimezone=UTC (當(dāng)連接數(shù)據(jù)庫時(shí)候,出現(xiàn)Time Zone錯(cuò)誤時(shí)添加此參數(shù),我貌似是使用Druid連接池時(shí)才出現(xiàn)的這個(gè)問題) allowPublicKeyRetrieval=true (使用root賬戶登陸沒問題,使用普通賬戶會(huì)提示Public Key Retrieval錯(cuò)誤)更多配置,請(qǐng)參考Druid項(xiàng)目中的wiki,根據(jù)需求進(jìn)行配置
到此這篇關(guān)于SpringBoot集成Druid連接池連接MySQL8.0.11的文章就介紹到這了,更多相關(guān)SpringBoot集成Druid連接池內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. webpack高級(jí)配置與優(yōu)化詳解2. Docker與iptables及實(shí)現(xiàn)bridge方式網(wǎng)絡(luò)隔離與通信操作3. python中scrapy處理項(xiàng)目數(shù)據(jù)的實(shí)例分析4. ASP動(dòng)態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗(yàn)分享5. H5頁面使用audio標(biāo)簽播放音頻6. HTML <!DOCTYPE> 標(biāo)簽7. PHP設(shè)計(jì)模式(七)組合模式Composite實(shí)例詳解【結(jié)構(gòu)型】8. 詳解JSP 內(nèi)置對(duì)象request常見用法9. jsp文件下載功能實(shí)現(xiàn)代碼10. AJAX的跨域問題解決方案
