美文网首页
SpringBoot集成MyBatis2-加入连接池

SpringBoot集成MyBatis2-加入连接池

作者: 想去山上定居 | 来源:发表于2018-08-26 23:16 被阅读0次

    天下的猪是一家,猪的清单

    1. 加入依赖
      • druid
    2. 配置DataSource
    3. 测试

    加入依赖

    compile 'com.alibaba:druid-spring-boot-starter:1.1.10'
    

    配置DataSource

    spring:
      datasource:
          druid:
              url: jdbc:mysql://localhost:3306/test
              #数据库用户名
              username: root
              #数据库密码
              password: 123456
              #数据源类型启用Druid
              db-type: com.alibaba.druid.pool.DruidDataSource
              #驱动
              driver-class-name: com.mysql.jdbc.Driver
              #属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:
              #监控统计用的filter:stat
              #日志用的filter:log4j
              #防御sql注入的filter:wall
              filters: stat
              #最大连接池数量
              max-active: 20
              #初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时
              initial-size: 1
              #获取连接时最大等待时间,单位毫秒
              max-wait: 60000
              #最小连接池数量
              min-idle: 1
              # 在空闲时,间隔一定的时间就去访问一下数据库,避免连接池中的连接因超时而失效
              #1) 自动检测连接是否有效的间隔时间
              #2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明
              time-between-eviction-runs-millis: 300000
              #连接池空闲连接的有效时间 ,设置30分钟
              min-evictable-idle-time-millis: 1800000
              #用来检测连接是否有效的sql,要求是一个查询语句。
              #如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
              validation-query: select 'x'
              #建议配置为true,不影响性能,并且保证安全性。
              #申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
              test-while-idle: true
              #归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
              test-on-return: false
              #申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
              test-on-borrow: false
              #是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大。
              #oracle 打开
              #>mysql5.5 关闭
              #<=mysql5.5 打开
              pool-prepared-statements: false
              #要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。
              #在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
              max-open-prepared-statements: 20
              #查看监控的页面
              stat-view-servlet:
                enabled: true
                url-pattern: "/druid/*"
                login-username: admin
                login-password: admin
              #过滤不需要的页面
              web-stat-filter:
                enabled: true
                url-pattern: "/*"
                exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
              #配置监控的方式
              filter:
                stat:
                  db-type: mysql
                  log-slow-sql: true
                  slow-sql-millis: 2000
    
    

    测试

    http://127.0.0.1:8080/druid/index.html
    

    记忆

    WechatIMG1182.jpeg

    地点定桩

    1. 发型定制 url
    2. 你和他 username & password
    3. 左边门 driver-class-name
    4. 右边门 db-type
    5. 两条水管 max-active & initial-size
    6. 专业手机维修广告牌 filters
    7. 专业手机维修店门口 max-wait 没有,没有,走吧。我再等等
    8. 专业手机维修店logo min-idle 等不了了,走
    9. 专业手机维修店楼梯 time-between-eniction-runs-millis 别走,有空闲的了,但我先看看是否还有效
    10. 有房出租 min-evictable-idle-time-milllis 不要拉倒,丢掉
    11. 有房与九天之间的间隔 validation-query + 三个检查 test-while-idle & test-on-return & test-on-borrow
    12. 九天公寓 pool-prepared-statements & max-open-prepared-statements
    13. 窗户+空调 stat-view-servlet
    14. 阳台 web-stat-filter
    15. 甜品店 filter:stat...

    相关文章

      网友评论

          本文标题:SpringBoot集成MyBatis2-加入连接池

          本文链接:https://www.haomeiwen.com/subject/vrmaiftx.html