springboot配置druid資料來源和監控
資料來源使用的是阿里的Driud。
1.配置之前 先看一下xml的配置。
-------------------spring-mybatis.xml檔案-------------------------- <!-- 引入屬性檔案 --> <context:property-placeholder location="classpath:config.properties" /> <!-- 配置資料來源 --> <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc_url}" /> <property name="username" value="${jdbc_username}" /> <property name="password" value="${jdbc_password}" /> <!-- 初始化連線大小 --> <property name="initialSize" value="0" /> <!-- 連線池最大使用連線數量 --> <property name="maxActive" value="20" /> <!-- 連線池最大空閒 --> <property name="maxIdle" value="20" /> <!-- 連線池最小空閒 --> <property name="minIdle" value="0" /> <!-- 獲取連線最大等待時間 --> <property name="maxWait" value="60000" /> <!-- <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="33" /> --> <property name="validationQuery" value="${validationQuery}" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <property name="testWhileIdle" value="true" /> <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 配置一個連線在池中最小生存的時間,單位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="25200000" /> <!-- 開啟removeAbandoned功能 --> <property name="removeAbandoned" value="true" /> <!-- 1800秒,也就是30分鐘 --> <property name="removeAbandonedTimeout" value="1800" /> <!-- 關閉abanded連線時輸出錯誤日誌 --> <property name="logAbandoned" value="true" /> <!-- 監控資料庫 --> <!-- <property name="filters" value="stat" /> --> <!-- <property name="filters" value="mergeStat" />--> </bean> <!-- myBatis檔案 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 自動掃描entity目錄, 省掉Configuration.xml裡的手工配置 --> <property name="mapperLocations" value="classpath:/mybatis/*Mapper.xml" /> <property name="configLocation" value="classpath:mybatis-interceptor.xml" /> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.lcl.springBoot.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean> -------------------mybatis-interceptor.xml檔案------------------------------ PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!-- 配置管理器 --> <configuration> <plugins> <!-- com.github.pagehelper為PageHelper類所在包名 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <!-- 4.0.0以後版本可以不設定該引數 --> <property name="dialect" value="mysql"/> <!-- 該引數預設為false --> <!-- 設定為true時,會將RowBounds第一個引數offset當成pageNum頁碼使用 --> <!-- 和startPage中的pageNum效果一樣--> <property name="offsetAsPageNum" value="true"/> <!-- 該引數預設為false --> <!-- 設定為true時,使用RowBounds分頁會進行count查詢 --> <property name="rowBoundsWithCount" value="true"/> <!-- 設定為true時,如果pageSize=0或者RowBounds.limit = 0就會查詢出全部的結果 --> <!-- (相當於沒有執行分頁查詢,但是返回結果仍然是Page型別)--> <property name="pageSizeZero" value="true"/> <!-- 3.3.0版本可用 - 分頁引數合理化,預設false禁用 --> <!-- 啟用合理化時,如果pageNum<1會查詢第一頁,如果pageNum>pages會查詢最後一頁 --> <!-- 禁用合理化時,如果pageNum<1或pageNum>pages會返回空資料 --> <property name="reasonable" value="true"/> <!-- 3.5.0版本可用 - 為了支援startPage(Object params)方法 --> <!-- 增加了一個`params`引數來配置引數對映,用於從Map或ServletRequest中取值 --> <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置對映的用預設值 --> <!-- 不理解該含義的前提下,不要隨便複製該配置 --> <property name="params" value="pageNum=start;pageSize=limit;"/> <!-- 支援通過Mapper介面引數來傳遞分頁引數 --> <property name="supportMethodsArguments" value="true"/> <!-- always總是返回PageInfo型別,check檢查返回型別是否為PageInfo,none返回Page --> <property name="returnPageInfo" value="check"/> </plugin> </plugins> </configuration>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
這裡面可以看到配置了DruidDataSource、SqlSessionFactoryBean、MapperScannerConfigurer三個bean,其中DruidDataSource配置了最基本的連結屬性;SqlSessionFactoryBean配置資料來源、mapper.xml路徑和PageHelper外掛填充;MapperScannerConfigurer設定的自動掃描的基本包basePackage跟sqlSessionFactory。
對應的在springBoot中,我們如果不用xml配置,則可以用@Configuration、@bean來進行註解配置。
@Configuration註解,等價 與XML中配置beans;用@Bean標註方法等價於XML中配置bean。
2.看springBoot配置,首先配置DruidDataSource,建立一個DruidDBConfig類,表注@Configuration。程式碼如下:
@Configuration public class DruidDBConfig { private Logger logger = LoggerFactory.getLogger(DruidDBConfig.class); @Value("${spring.datasource.url}") private String dbUrl; @Value("${spring.datasource.username}") private String username; @Value("${spring.datasource.password}") private String password; @Value("${spring.datasource.driverClassName}") private String driverClassName; @Value("${spring.datasource.initialSize}") private int initialSize; @Value("${spring.datasource.minIdle}") private int minIdle; @Value("${spring.datasource.maxActive}") private int maxActive; @Value("${spring.datasource.maxWait}") private int maxWait; @Value("${spring.datasource.timeBetweenEvictionRunsMillis}") private int timeBetweenEvictionRunsMillis; @Value("${spring.datasource.minEvictableIdleTimeMillis}") private int minEvictableIdleTimeMillis; @Value("${spring.datasource.validationQuery}") private String validationQuery; @Value("${spring.datasource.testWhileIdle}") private boolean testWhileIdle; @Value("${spring.datasource.testOnBorrow}") private boolean testOnBorrow; @Value("${spring.datasource.testOnReturn}") private boolean testOnReturn; @Value("${spring.datasource.poolPreparedStatements}") private boolean poolPreparedStatements; @Value("${spring.datasource.maxPoolPreparedStatementPerConnectionSize}") private int maxPoolPreparedStatementPerConnectionSize; @Value("${spring.datasource.filters}") private String filters; @Value("{spring.datasource.connectionProperties}") private String connectionProperties; @Bean(value="dataSource") //宣告其為Bean例項 @Primary //在同樣的DataSource中,首先使用被標註的DataSource public DataSource dataSource(){ DruidDataSource datasource = new DruidDataSource(); datasource.setUrl(this.dbUrl); datasource.setUsername(username); datasource.setPassword(password); datasource.setDriverClassName(driverClassName); //configuration datasource.setInitialSize(initialSize); datasource.setMinIdle(minIdle); datasource.setMaxActive(maxActive); datasource.setMaxWait(maxWait); datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis); datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis); datasource.setValidationQuery(validationQuery); datasource.setTestWhileIdle(testWhileIdle); datasource.setTestOnBorrow(testOnBorrow); datasource.setTestOnReturn(testOnReturn); datasource.setPoolPreparedStatements(poolPreparedStatements); datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize); try { datasource.setFilters(filters); } catch (SQLException e) { logger.error("druid configuration initialization filter", e); } datasource.setConnectionProperties(connectionProperties); return datasource; } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
至此,DruidDataSource資料來源在系統執行的時候,會自動建立一個bean。
3.若想使用Druid的監控,則需要額外配置StatViewServlet 和 filterRegistrationBean,這裡單獨拎出來便於理解,此處配置也可以放置在DruidDBConfig類中。
@Configuration
public class DruidConfiguration {
/**
* 註冊一個StatViewServlet
* @return
*/
@Bean
public ServletRegistrationBean DruidStatViewServle2(){
//org.springframework.boot.context.embedded.ServletRegistrationBean提供類的進行註冊.
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
//新增初始化引數:initParams
//白名單:
servletRegistrationBean.addInitParameter("allow","127.0.0.1");
//IP黑名單 (存在共同時,deny優先於allow) : 如果滿足deny的話提示:Sorry, you are not permitted to view this page.
servletRegistrationBean.addInitParameter("deny","192.168.1.73");
//登入檢視資訊的賬號密碼.
servletRegistrationBean.addInitParameter("loginUsername","admin2");
servletRegistrationBean.addInitParameter("loginPassword","123456");
//是否能夠重置資料.
servletRegistrationBean.addInitParameter("resetEnable","false");
return servletRegistrationBean;
}
/**
* 註冊一個:filterRegistrationBean
* @return
*/
@Bean
public FilterRegistrationBean druidStatFilter2(){
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
//新增過濾規則.
filterRegistrationBean.addUrlPatterns("/*");
//新增不需要忽略的格式資訊.
filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid2/*");
return filterRegistrationBean;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
這裡的配置類同等於xml配置檔案:
<filter>
<filter-name>DruidWebStatFilter</filter-name>
<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
<init-param>
<param-name>exclusions</param-name>
<param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>DruidWebStatFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
同樣的還有另外一種方式:
1)建立DruidStatFilter。
@WebFilter(filterName="druidWebStatFilter",urlPatterns="/*",
initParams={
@WebInitParam(name="exclusions",value="*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")//忽略資源
}
)
public class DruidStatFilter extends WebStatFilter {
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2)建立DruidStatViewServlet。
@WebServlet(urlPatterns="/druid/*",
initParams={
@WebInitParam(name="allow",value="127.0.0.1,192.168.163.1"),// IP白名單(沒有配置或者為空,則允許所有訪問)
@WebInitParam(name="deny",value="192.168.1.73"),// IP黑名單 (存在共同時,deny優先於allow)
@WebInitParam(name="loginUsername",value="admin"),// 使用者名稱
@WebInitParam(name="loginPassword",value="123456"),// 密碼
@WebInitParam(name="resetEnable",value="false")// 禁用HTML頁面上的“Reset All”功能
})
public class DruidStatViewServlet extends StatViewServlet {
private static final long serialVersionUID = -2688872071445249539L;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
4.配置sqlSessionFactory,此bean是SqlSessionFactoryBean型別。
@Configuration
public class MyBatisConfig implements TransactionManagementConfigurer{
private Logger logger = LoggerFactory.getLogger(MyBatisConfig.class);
//@Autowired
//private DruidDataSource dataSource;
@Value("${spring.datasource.type}")
private Class<? extends DataSource> dataSourceType;
@Bean(name="dataSource", destroyMethod = "close", initMethod="init")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().type(dataSourceType).build();
}
@Bean(name = "sqlSessionFactory")//3
public SqlSessionFactory sqlSessionFactoryBean() {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource());
//bean.setTypeAliasesPackage("com.hjf.boot.demo.boot_mybatis.domain");
//分頁外掛 //4
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("reasonable", "true");
properties.setProperty("supportMethodsArguments", "true");
properties.setProperty("returnPageInfo", "check");
properties.setProperty("params", "count=countSql");
pageHelper.setProperties(properties);
//新增外掛
bean.setPlugins(new Interceptor[]{pageHelper});
//新增XML目錄
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
try {
bean.setMapperLocations(resolver.getResources("classpath:/mybatis/*Mapper.xml"));
return bean.getObject();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
@Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
@Bean
public PlatformTransactionManager annotationDrivenTransactionManager() {
return new DataSourceTransactionManager(dataSource());
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
5.配置MapperScannerConfigurer,設定自動掃描。
@Configuration
@AutoConfigureAfter(MyBatisConfig.class)//見文思意,在MyBatisConfig配置之後載入
public class MyBatisMapperScannerConfig {
@Bean
public MapperScannerConfigurer mapperScannerConfigurer() {
MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
//對應<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");
//對應<property name="basePackage" value="com.lcl.springBoot.dao" />
mapperScannerConfigurer.setBasePackage("com.lcl.springBoot.dao");
return mapperScannerConfigurer;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
至此配置完畢,對於資原始檔在resources目錄下:
resources --application.properties//存放資原始檔 --mybatis//資料夾存放mapper檔案 --DemoMapper.xml //本人用的測試mapper
- 1
- 2
- 3
- 4
- 5
application.properties檔案內容(千篇一律,滿大街都是= =!):
##DATASOURCE(DataSourceAutoConfiguration&DataSourceProperties) # 驅動配置資訊 spring.datasource.url = jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull spring.datasource.username= root spring.datasource.password= spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSource ##連線池屬性配置 spring.datasource.initialSize=5 spring.datasource.minIdle=5 spring.datasource.maxActive=20 spring.datasource.maxWait=60000 spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.minEvictableIdleTimeMillis=300000 spring.datasource.validationQuery=SELECT 1 FROM DUAL spring.datasource.testWhileIdle=true spring.datasource.testOnBorrow=false spring.datasource.testOnReturn=false spring.datasource.poolPreparedStatements=true spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 spring.datasource.filters=stat,wall,log4j spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
結尾:在MyBatisConfig中關於DruidDataSource,一開始使用的形式是:
@Autowired
private DruidDataSource dataSource;
- 1
- 2
- 3
此時發現不能自動例項化bean,而後改為一下形式解決,沒有看原始碼不知何故,以後有時間在看原始碼進行分析:
@Value("${spring.datasource.type}")
private Class<? extends DataSource> dataSourceType;
@Bean(name="dataSource", destroyMethod = "close", initMethod="init")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().type(dataSourceType).build();
}
相關推薦
springboot配置druid資料來源和監控
資料來源使用的是阿里的Driud。 1.配置之前 先看一下xml的配置。 -------------------spring-mybatis.xml檔案-------------------------- <!-- 引入屬性檔案 --> <cont
spring boot配置druid資料來源和監控配置
直接上程式碼: 一.pom.xml中新增依賴 1 <dependency> 2 <groupId>com.github.drtrang</groupId> 3 <artifactId>druid-s
搭建微服務歷程-3 修改服務提供者Provider 使用jpa配置druid資料來源和監控
1.使用jpa配置druid資料來源和監控 修改pom檔案 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
從零學springboot—— 配置druid資料來源,並開啟監控
匯入依賴 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version&g
springboot配置Druid資料來源
springboot配置druid資料來源 Author:SimpleWu springboot整合篇 前言 對於資料訪問層,無論是Sql還是NoSql,SpringBoot預設採用整合SpringData的方式進行統一管理,新增大量的自動配置,遮蔽了很多設定。引入了各種XxxTemplat
SpringBoot配置Druid資料來源,持久層分別 mybatis,jdbc
Druid與mybatis整合: application.yaml 配置引數檔案 spring: datasource: #driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.cj.j
springboot配置druid監控
springboot配置druid監控 啟動類上加上 @ServletComponentScan註解 如果 配置的多資料來源 不用預設的 配置 @SpringBootApplication(exclude=DataSourceAutoConfiguration.class)加上這個
SpringBoot配置多資料來源(druid)
分析 spring本身是支援多資料來源動態切換的,AbstractRoutingDataSource這個抽象類就是spring提供的一個數據源路由的一個入口,該抽象類暴露了一個determineCurrentLookupKey()的方法,該方法返回值是Object,該返回值作為key
springboot配置雙資料來源 MySQL和SqlServer
看到網上好多例項,都失敗了,報掃描不到mapper檔案,下面是我的完整例項1. pom檔案的驅動jar包加上去,不說了2. application.yml spring: datasource: master: jdbc-url: jdbc
springboot配置多資料來源並整合Druid
1.application.properties配置檔案 spring.datasource.type = com.alibaba.druid.pool.DruidDataSource #----DS1---- spring.datasource.primary.u
SpringBoot整合druid資料來源及新增Druid監控頁面
不是不會,只是沒見過,程式碼只是一種工具,首先要會用,應用中使用druid連線池,並新增監控 1.首先引入druid座標 <dependency> <groupId>com.alibaba</groupId>
SpringBoot配置多資料來源(結合Druid)
在單資料來源的情況下,Spring Boot的配置非常簡單,只需要在application.properties檔案中配置連線引數即可。但是往往隨著業務量發展,我們通常會進行資料庫拆分或是引入其他資料庫,從而我們需要配置多個數據源,下面介紹多資料來源的配置方式。
springboot 引入 druid 資料來源監控
Druid是Java語言中最好的資料庫連線池。Druid能夠提供強大的監控和擴充套件功能。Druid內建提供了一個StatV
SpringBoot配置Druid
root name initials log4 mysql gif 無法 table onsize Druid是Java語言中最好的數據庫連接池。Druid能夠提供強大的監控和擴展功能。關於詳細介紹可查看http://www.iteye.com/magazines/90 S
SpringBoot配置Druid數據源
director 監測 jdbc 最小 upa 禁用 getc 是否有效 顯示調用 在我剛開始接觸JDBC的時候,用的是DriveManager驅動來連接數據庫的。而現在大多是用DataSource。 這裏先簡單說一下區別: 1、datasource是與連接池獲取連接,而D
springboot配置多資料來源之Spring Date JPA
多資料來源在專案開發中是經常遇到的,如果同一個專案的不同模組使用的是不同資料庫,就需要多資料來源的處理。現在先寫之前使用JPA的時候遇到多資料來源的配置,後續可能再來個關於mybatis的多資料來源配置。 現在有這樣的需求,專案中有兩個模組,分別是flow與imap,flow需要使用預設資料
springboot配置多資料來源(MongoDB主從)
相信看過上一篇文章的小夥伴已經知道了, 這章要講的就是MongoDB主從配置。 在這邊文章中,你將要學到的是在專案中配置主從資料庫,並且相容其他資料庫喲。。這些都是博主專案中需要並且比較重要的知識哦~ 好了,廢話不多說,直接進主題。 1.pom依賴 <depende
springboot配置多資料來源(不同DB)
springBoot整合Mysql+MongoDB 因為在專案中需要用到兩個不同的資料來源。但是又不存在於一個DB中。讓我很是苦惱,不得已只能整合多資料來源。 博主文筆不好,只能講乾貨了。。 目標: 使用springBoot整合mys
SpringBoot使用Druid資料來源
Druid是阿里巴巴開源平臺上一個資料庫連線池實現,它結合了C3P0、DBCP、PROXOOL等DB池的優點,同時加入了日誌監控,可以很好的監控DB池連線和SQL的執行情況,可以說是針對監控而生的DB連線池(據說是目前最好的連線池) 一、依賴 為了測試,使用jdbcTempla
spring boot整合mybatis -配置 druid 資料來源
druid 資料庫連線池是由阿里提供,由於其效能很高並且提供了強大的監控功能,所以被越來越多的應用。 第一次配置,很簡單。也沒有花太多時間,最坑的是 druid 監控的配置處理時: # 這裡一定要配置為 "/druid/*",而不是"/druid",瀏覽器會報