SpringBoot 2.2.x 的一些坑

背景:

  druid版本:1.1.10;

  springboot版本:2.2.5 RELEASE

坑一:

報錯: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.

 2.2.x版本下的Springboot已經不支持 “com.mysql.jdbc.Driver”這個驅動了,這個驅動是對應MySql 5.5.x版本的;需要換上MySql 5.6.x版本的驅動,即:“com.mysql.cj.jdbc.Driver”,因此,我們只需要修改一下配置文件,換一個驅動,然後設置一下時區(5.6.x版本不設置時區會報錯)

參考配置(yml格式):

# druid
spring:
  datasource: # 數據庫源配置
    url: jdbc:mysql://127.0.0.1:3306/honeynet?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource # 數據庫連接源類型
    tomcat: # tomcat 數據庫連接配置
      max-active: 1000 # 數據庫最大連接數
      initial-size: 100 # 數據庫初始連接數
      max-wait: 60000 # 配置獲取連接等待超時的時間
      min-idle: 150 # 需要維護的最小空閒連接數目
      time-between-eviction-runs-millis: 60000 # 間隔多久檢測一次空閒連接數目
      min-evictable-idle-time-millis: 300000 # 每條數據庫連接最小生存時間
      test-on-borrow: false # 指明是否在從池中取出連接前進行檢驗,如果檢驗失敗, 則從池中去除連接並嘗試取出另一個,注意: 設置爲true後如果要生效,validation-query參數必須設置爲非空字符串
      test-while-idle: false # 指明連接是否被空閒連接回收器(如果有)進行檢驗.如果檢測失敗,則連接將被從池中去除.注意: 設置爲true後如果要生效,validation-query參數必須設置爲非空字符串
      test-on-return: false # 指明是否在歸還到池中前進行檢驗,注意: 設置爲true後如果要生效, validation-query參數必須設置爲非空字符串
      validation-query: select 1 # SQL查詢,用來驗證從連接池取出的連接,在將連接返回給調用者之前.如果指定,則查詢必須是一個SQL SELECT並且必須返回至少一行記錄
      num-tests-per-eviction-run: 3 # 在每次空閒連接回收器線程(如果有)運行時檢查的連接數量,默認值就是3.

坑二:

 使用mybatis時,給dao層接口打註解的時候@MapperScan和@Mapper一個即可,前者能同時指定多個mapper文件;

並且寫SQL的時候,推薦xml文件和註解一起用,簡單的SQL用註解,複雜的SQL用xml,這樣可讀性強。

參考配置(yml格式)

mybatis:
  type-aliases-package: com.xxx.xxx
  configuration:
    map-underscore-to-camel-case: true
    default-fetch-size: 100
    default-statement-timeout: 3000
  mapper-locations: classpath:/mapper/*.xml

坑三:

報錯:com.alibaba.druid.pool.DruidDataSource   : testWhileIdle is true, validationQuery not set.....

解決方案:需要添加和修改某些配置項 (https://blog.csdn.net/HXNLYW/article/details/86672024
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章