SpringBoot - 配置Druid允許批量執行SQL
阿新 • • 發佈:2018-12-20
Druid預設是不開啟批量SQL執行的,屬性為MultiStatementAllow.配置為true即可.
yml檔案配置:
filters:stat
spring: profiles: active: dev datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver #下面為連線池的補充設定,應用到上面所有資料來源中# 初始化大小,最小,最大 initialSize: 15 minIdle: 5 maxActive: 25 #配置獲取連線等待超時的時間 maxWait: 6000 #配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 timeBetweenEvictionRunsMillis: 60000 #配置一個連線在池中最小生存的時間,單位是毫秒 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false #開啟PSCache,並且指定每個連線上PSCache的大小 poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 20 #配置監控統計攔截的filters,去掉後監控介面sql無法統計,'wall'用於防火牆 filters: stat #通過connectProperties屬性來開啟mergeSql功能;慢SQL記錄 connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 #合併多個DruidDataSource的監控資料 #useGlobalDataSourceStat: true
配置類:
資料庫資料來源配置類中配置上即可。
/** * 配置允許批量SQL * @return */ @Bean public WallFilter wallFilter() { WallFilter wallFilter = new WallFilter(); wallFilter.setConfig(wallConfig()); return wallFilter; } @Bean public WallConfig wallConfig() { WallConfig config = new WallConfig(); config.setMultiStatementAllow(true); config.setNoneBaseStatementAllow(true); return config; }