Druid通俗易懂的快速入门

Druid是什么

通俗点来说它是个不但继承了tomcat、dbcp2数据库连接池的优点,还支持扩展插件的数据库连接池,
其中最常用的三个插件:start、wall、log4j带给druid强大的后台监控、防御sql注入和日志等功能。
再简单点来说,它会有一个自己的后台监控页面,像这样:
在这里插入图片描述

简单例子

依赖

<!--Druid-->
<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>druid</artifactId>
     <version>1.1.21</version>
</dependency>
<!--log4j-->
<dependency>
     <groupId>log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>1.2.17</version>
</dependency>

配置文件

spring:
  datasource:
    username: root
    password:
    url: jdbc:mysql://127.0.0.1:3306/mybatis_plus?serverTimezone=GMT&amp&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource #更改数据库的数据源

    # druid继承的tomcat、dbcp2的一些属性
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMinllis: 60000
    minEvictableIdleTimeMills: 300000
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: fales
    poolPreparedStatements: true

    # druid自己的能支持扩展插的配置
    filters: start,wall,log4j #分别是后台监控、防御sql注入和日志
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

配置类

@Configuration
public class DruidConfig {
    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean
    public DataSource druidDataSource(){
        return new DruidDataSource();//实例druid数据源
    }

    @Bean
    public ServletRegistrationBean servletRegistrationBean(){
        //配置后台页面的映射路径
        ServletRegistrationBean<StatViewServlet> servlet =
                new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*");
        HashMap<String,String> init = new HashMap<>();
        //配置登陆账号密码
        init.put("loginUsername","ncb");
        init.put("loginPassword","123");
        servlet.setInitParameters(initParameters);
        return servlet;
    }
}

验证结果

  • 首先打开localhost:8006/druid(端口改成自己项目的)
    在这里插入图片描述

  • Postman向该项目发请求,使用8006端口的SQL(我这只是在86端口用了Ferign,实际访问的还是8006端口的SQL)在这里插入图片描述

  • 到SQL防火墙下找到白名单,看到了访问涉及到的SQL语句也进来了
    在这里插入图片描述

当然啦,druid的知识还有很多,这里算做个笔记吧。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页