SpringBoot配置MySql数据库和Druid连接池
Posted Fire飞扬跋扈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot配置MySql数据库和Druid连接池相关的知识,希望对你有一定的参考价值。
1.pom文件增加相关依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>
<version>5.0.4</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId>
<version>1.1.0</version> </dependency>
2.mysql大家应该都很了解了,这里主要介绍一下druid连接池。之前的项目大多数都使用c3p0或者其他的连接池,这里使用druid连接池,好处就是可以监控数据库访问性能,druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。这里看一下配置文件下配置,这里使用的配置文件是application.yml
spring: #表示该配置直接为Spring容器负责处理 datasource: type: com.alibaba.druid.pool.DruidDataSource #配置当前要使用的数据源的操作类型那个 driver-class-name: org.gjt.mm.mysql.Driver #配置MySQL的驱动程序类 url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 username: root password: 123456 filters: stat,wall,log4j #druid监控配置 dbcp2: min-idle: 5 #数据库连接池的最小维持连接数 initial-size: 5 #初始化提供的连接数 max-total: 5 #最大的连接数 max-wait-millis: 200 #等待连接获取的最大超时时间
3.最后,还需要增加一个druid的基本配置,这里直接上代码。
import javax.sql.DataSource; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; @Configuration public class DruidConfig { @Bean public ServletRegistrationBean druidServlet() {// 主要实现web监控的配置处理 ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean( new StatViewServlet(), "/druid/*");//表示进行druid监控的配置处理操作 servletRegistrationBean.addInitParameter("allow", "127.0.0.1,129.168.1.11");//白名单 servletRegistrationBean.addInitParameter("deny", "129.168.1.12");//黑名单 servletRegistrationBean.addInitParameter("loginUsername", "root");//用户名 servletRegistrationBean.addInitParameter("loginPassword", "root");//密码 servletRegistrationBean.addInitParameter("resetEnable", "false");//是否可以重置数据源 return servletRegistrationBean; } @Bean //监控 public FilterRegistrationBean filterRegistrationBean(){ FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean(); filterRegistrationBean.setFilter(new WebStatFilter()); filterRegistrationBean.addUrlPatterns("/*");//所有请求进行监控处理 filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.css,/druid/*");//排除 return filterRegistrationBean; } @Bean @ConfigurationProperties(prefix = "spring.datasource") public DataSource druidDataSource() { return new DruidDataSource(); } }
我们可以看到这里的几个基本配置,白名单,黑名单,顾名思义就是设置谁可以访问,谁不能访问。用户名, 密码就不用多说了。最后我们登录druid监控,看一下,访问地址:http://localhost:port/druid/login.html,会看到如下界面
使用上面配置好的用户名密码进行登录,便实现了druid监控
以上是关于SpringBoot配置MySql数据库和Druid连接池的主要内容,如果未能解决你的问题,请参考以下文章
springboot同时配置mysql和SqlServer多个数据源
springboot同时配置mysql和SqlServer多个数据源
SpringBoot 配置双数据源MySQL、SQL Server