zoukankan      html  css  js  c++  java
  • 第13章—数据库连接池(Druid)

    spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html

    码云源码地址:https://gitee.com/jinxiaohang/springboot

      Druid是一个关系型数据库连接池,它是阿里巴巴的一个开源项目。Druid支持所有JDBC兼容数据库,包括了Oracle、MySQL、PostgreSQL、SQL Server、H2等。
      Druid在监控、可扩展性、稳定性和性能方面具有明显的优势。通过Druid提供的监控功能,可以实时观察数据库连接池和SQL查询的工作情况。使用Druid连接池在一定程度上可以提高数据访问效率。

      Druid可以做什么?

    1. 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
    2. 替换DBCPC3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
    3. 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
    4. SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-LoggingLog4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
    5. 扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。

      本次练习在之前整合Spring Data JPA基础上进行。

    一、引入依赖

    1.1.0版本

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.1.0</version>
    </dependency>

    二、添加配置

    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/test
        username: root
        password: root
        driver-class-name: com.mysql.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource
        druid:
          #最大连接池数量
          max-active: 20
          #初始化大小
          initial-size: 1
          #最小连接池数量
          min-idle: 3
          # 配置获取连接等待超时的时间
          max-wait: 60000
          # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
          time-between-eviction-runs-millis: 60000
          # 配置一个连接在池中最小生存的时间,单位是毫秒
          min-evictable-idle-time-millis: 300000
          # 检测连接是否有效的sql
          test-while-idle: true
          test-on-borrow: false
          test-on-return: false
          #PSCache Mysql下建议关闭
          poolPreparedStatements: true
          statViewServlet:
            #登录帐号
            login-username: druid
            #登录密码
            login-password: druid
    
      jpa:
        hibernate:
          ddl-auto: update
        show-sql: true    

    更多配置,请参考这里

    三、启动测试

    启动项目,访问http://localhost:8080/druid 首先输入上面配置的用户名和密码 druid 进行登录:

    执行一个查询请求,然后查看SQL监控页面:

     查看数据源页面:

     如果用1.1.0以前版本,进行配置的。启动后直接查看数据源页面只显示(*) property for user to setup,详见这里

  • 相关阅读:
    Edge浏览器主页被360劫持怎么办 ?
    wpf小技巧——datagrid 不出现 滚动条问题
    c++学习资料
    Mosquitto创建MQTT服务器提示Starting in local only mode的解决办法
    【转】在 Golang 中使用 Cobra 创建 CLI 应用
    【转】Golang的HTTP操作大全
    BigDecimal类中的3个toString方法
    Path is not a working copy directory
    Cannot deserialize instance of `java.lang.String` out of START_OBJECT token
    sqlserver判断字符串是否是纯数字
  • 原文地址:https://www.cnblogs.com/jinxiaohang/p/8329103.html
Copyright © 2011-2022 走看看