Spring Boot使用Druid连接池的示例代码

2025-05-29 0 80

druid是java语言中最好的数据库连接池druid相比于其他的数据库连接池,有两大特性:

  1. 监控数据库,有利于分析线上数据库问题
  2. 更容易扩展,同时也很高效。

今天演示一下spring boot集成druid

实战

1、添加maven依赖。

spring boot版本使用的是1.x的,2.x的版本druid starter还不支持。不过自定义也是没问题的。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16
<!--starter-web 方便我们查看效果-->

<dependency>

<groupid>org.springframework.boot</groupid>

<artifactid>spring-boot-starter-web</artifactid>

</dependency>

<!--使用mybatis也可以,druid提供的只是连接池-->

<dependency>

<groupid>org.springframework.boot</groupid>

<artifactid>spring-boot-starter-jdbc</artifactid>

</dependency>

<dependency>

<groupid>com.alibaba</groupid>

<artifactid>druid-spring-boot-starter</artifactid>

<version>1.1.6</version>

</dependency>

Spring Boot使用Druid连接池的示例代码

配置druid

2、druid应用的配置。

?

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
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来配置。

?

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
@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<filter> 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的监控效果。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23
@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<integer> idlist = new linkedlist<integer>();

jdbctemplate.query("select * from sh_test1", new rowcallbackhandler() {

@override

public void processrow(resultset rs) throws sqlexception {

idlist.add(rs.getint(1));

}

});

return idlist;

}

}

运行查看效果

Spring Boot使用Druid连接池的示例代码

Spring Boot使用Druid连接池的示例代码

Spring Boot使用Druid连接池的示例代码

5、演示完毕

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

最后

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

参考

[druid常见用法] (https://github.com/alibaba/druid/wiki/%e5%b8%b8%e8%a7%81%e9%97%ae%e9%a2%98)

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

原文链接:https://www.jianshu.com/p/d396d2f924c5

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Spring Boot使用Druid连接池的示例代码 https://www.kuaiidc.com/111300.html

相关文章

发表评论
暂无评论