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

7f2dd2637030ab313f5548b8b5692d19.png

配置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;

}

}

运行查看效果

55df4843da8da3d23afe5293cf832063.png

aa03de43fa6f88b53619c2e8cefc7f2a.png

123bca22b6ce0d6f8bb5eb1730056c34.png

5、演示完毕

到这一步,Druid已经可以在Spring Boot中使用了,Druid提供了很多监控的选项,文章篇幅有限, 只介绍一下Druid集成Spring Boot的用法。

最后

这篇文章演示了一下Druid在SpringBoot中的使用。有关Druid的使用请看下面的参考。

参考

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值