javascript
druid java直接调用_Spring Boot使用Druid连接池的示例代码
Druid是Java語言中最好的數據庫連接池。Druid相比于其他的數據庫連接池,有兩大特性:
監控數據庫,有利于分析線上數據庫問題
更容易擴展,同時也很高效。
今天演示一下Spring Boot集成Druid。
實戰
1、添加Maven依賴。
Spring Boot版本使用的是1.x的,2.x的版本druid starter還不支持。不過自定義也是沒問題的。
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-jdbc
com.alibaba
druid-spring-boot-starter
1.1.6
配置Druid
2、Druid應用的配置。
server:
port: 9011
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
druid:
initial-size: 5
max-active: 10
min-idle: 5
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
validation-query: select 1
validation-query-timeout: 60000
test-on-borrow: false
test-on-return: false
test-while-idle: true
time-between-eviction-runs-millis: 60000
filter:
stat:
log-slow-sql: true
db-type: mysql
slow-sql-millis: 2000
stat-view-servlet:
login-username: druid
login-password: druid
allow: 127.0.0.1
url-pattern: /druid/*
username: root
password: 123456
url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8
通過JavaBean的配置更靈活一些,我們通過JavaBean來配置。
@Configuration
public class DruidConfig {
@Bean
public JdbcTemplate jdbcTemplate(){
return new JdbcTemplate(druidDataSource());
}
// ConfigurationProperties可以直接把應用配置的spring.datasource.druid屬性開頭的值注入到DruidDataSource中
@ConfigurationProperties(prefix = "spring.datasource.druid")
@Bean(initMethod = "init",destroyMethod = "close")
public DruidDataSource druidDataSource(){
DruidDataSource druidDataSource = new DruidDataSource();
// 添加druid的監控過濾器,當前只演示監控的功能,因此只有一個過濾器,可以實現多個過濾器
LinkedList filtersList = new LinkedList();
filtersList.add(filter());
druidDataSource.setProxyFilters(filtersList);
return druidDataSource;
}
@Bean
public Filter filter(){
StatFilter statFilter = new StatFilter();
// SQL執行時間超過2s種的被判定為慢日志
statFilter.setSlowSqlMillis(2000);
//顯示慢日志
statFilter.setLogSlowSql(true);
//合并SQL,有時,一些相同的慢日志過多影響閱讀,開啟合并功能
statFilter.setMergeSql(true);
return statFilter;
}
// 監控的面板
@Bean
public ServletRegistrationBean servletRegistrationBean(){
// 注冊自己的Sevlet
return new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
}
}
3、新建SQL執行測試
使用JDBCTeplate選取數據庫中的數據,我們只是演示Druid的監控效果。
@RestController
@SpringBootApplication
public class DaoApplication {
public static void main(String[] args) {
SpringApplication.run(DaoApplication.class,args);
}
@Autowired
JdbcTemplate jdbcTemplate;
@RequestMapping("/test")
public List test(){
final List idList = new LinkedList();
jdbcTemplate.query("select * from sh_test1", new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
idList.add(rs.getInt(1));
}
});
return idList;
}
}
運行查看效果
5、演示完畢
到這一步,Druid已經可以在Spring Boot中使用了,Druid提供了很多監控的選項,文章篇幅有限, 只介紹一下Druid集成Spring Boot的用法。
最后
這篇文章演示了一下Druid在SpringBoot中的使用。有關Druid的使用請看下面的參考。
參考
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
總結
以上是生活随笔為你收集整理的druid java直接调用_Spring Boot使用Druid连接池的示例代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java txt 写入_JAVA 写入T
- 下一篇: java enum.parse_java