Druid

Spring基础课八:集成数据库连接池Druid

守給你的承諾、 提交于 2020-02-02 08:15:42
数据库连接池Druid 数据库连接池负责建立,管理和释放数据库连接,允许应用重用已建立的数据库连接,而不是重新建立一个; Druid的使用,首先新建一个DruidDataSource的bean,构造设置连接池参数,这样每次调用getConnection()方法,即是从连接池中获取连接,而非每次都新建立数据库连接。结合jdbcTemplate,只需将其作为jdbcTemplate的构造参数传入即可; Druid连接池参数, initialSize,minIdle,maxActive :连接池的初始化连接数,最小空闲连接数,最大连接数 maxWait:获取连接的最大等待超时时间 timeBetweenEvictionRunsMillis:检测并关闭空闲连接的间隔时间 minEvictableIdleTimeMillis:数据库连接在连接池中的最小生存时间 filters:配置用于监控的拦截器,常用的有stat,wall等 Filters介绍,wallFilter会拦截sql进行检测,防止sql注入,并会读取META-INF/druid/wall/myql目录下的配置文件来进行过滤,如设置不允许delete等操作,默认会对认为攻击的sql抛出SQLException;StatFilter用于慢Sql统计,通过属性druid.stat.slowSqlMillis设置临界时间

数据库连接池

和自甴很熟 提交于 2020-02-01 20:55:43
实现: 标准接口DataSource javax.sql包下 获取连接: getConnection 归还连接: 如果连接对象Connection对象是从连接池取出来的,那么Connection.close( ),就不会再关闭连接了,而是归还链接 c3p0: 数据库连接池技术 druid: 数据库连接池实现技术,阿里巴巴提供 1,导入jar包2.定义并加载配置文件3.获取连接池对象:通过工厂来获取 DruidDataSourceFactory4. 获取连接:getConnection 基本使用: 写一个工具类并测试该工具类: 配置文件: package druid; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; import java.io.IOException; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; /** * 2020/2/1 * 抽取Druid常用的方法为一个工具类 */ public class DruidUtils { private static

Druid 专题

柔情痞子 提交于 2020-01-31 09:35:42
数据源配置: #datasource #Introductions: https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8 #https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_DruidDataSource%E5%8F%82%E8%80%83%E9%85%8D%E7%BD%AE #初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时 default:0 spring.datasource.druid.initial-size=2 #最大连接池数量。default=8+ spring.datasource.druid.max-active=20 #最小连接池数量。maxIdle已经废弃 spring.datasource.druid.min-idle=10 #获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁 spring.datasource.druid.max-wait=60000

SpringBoot 之数据访问

回眸只為那壹抹淺笑 提交于 2020-01-31 08:36:26
1. Spring Boot 与 JDBC 默认使用 org.apache.tomcat.jdbc.pool.DataSource 数据源; // application.yml spring: datasource: username: root password: root url: jdbc:mysql:///jpa driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource # 用于指定数据源 # 数据源其他配置 initialSize: 5 minIdle: 5 maxActive: 20 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true # 配置监控统计拦截的 filters, 'wall' 用于防火墙 filters: stat,wall,log4j

Druid连接池简介和配置

社会主义新天地 提交于 2020-01-31 08:31:50
Druid是什么?有什么作用? Druid首先是一个数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser。 Druid的项目背景?目前的项目团队情况?开源目的? 2010年开始,我负责设计一个叫做Dragoon的监控系统,需要一些监控组件,监控应用程序的运行情况,包括Web URI、Spring、JDBC等。为了监控SQL执行情况,我做了一个Filter-Chain模式的ProxyDriver,缺省提供StatFilter。当时我还做了一个SQL Parser。老板说,不如我们来一个更大的计划,把连接池、SQL Parser、Proxy Driver合起来做一个项目,命名为Druid,于是Druid就诞生了。 2011年2月春节期间,我完成了连接池(DruidDataSource)的第一个版本,4月开始在生产环境测试,2012年第一季度开始大规模实施。 提交过代码的开发者有5个人,主要代码是我维护,有一人专门负责内部实施。 通过开源,希望有更多使用场景,更多的反馈,更多人参与其中,共同打造最好的数据库连接池。 Druid支持哪些数据库? Druid支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等等。

druid连接池配置

梦想与她 提交于 2020-01-31 05:36:42
package demo.test; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import javax.sql.DataSource; import com.alibaba.druid.pool.DruidDataSourceFactory; public class DBUtil { private static DataSource ds = null; static { try{ InputStream in = DBUtil.class.getClassLoader() .getResourceAsStream("ds.properties"); Properties props = new Properties(); props.load(in); ds = DruidDataSourceFactory.createDataSource(props); }catch(Exception ex){ ex.printStackTrace(); } } public static Connection openConnection() throws SQLException{ return

activiti6 springboot2 druid数据连接池配置实验

 ̄綄美尐妖づ 提交于 2020-01-31 05:36:32
阿里连接池得配置 1.1创建配置文件activiti_druid.cfg.xml 1.2配置内容 <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration"> <property name="databaseSchemaUpdate" value="true" /> <property name="dataSource" ref="dataSource"></property></bean><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="url" value="jdbc:mysql://172.16.50.44:3306/xy-test"/> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="username" value="root"/> <property name="password" value="root"/> <property name="initialSize"

SpringBoot整合Druid数据库连接池

不羁的心 提交于 2020-01-30 22:18:28
SpringBoot整合Druid数据库连接池 1.引入pom文件 <!--Druid连接池--> < dependency > < groupId > com.alibaba </ groupId > < artifactId > druid-spring-boot-starter </ artifactId > < version > 1.1.10 </ version > </ dependency > 2.配置application.yml文件 spring : datasource : #MYSQL数据库 url : jdbc : mysql : //localhost : 3306/mall ? useUnicode=true &characterEncoding =utf - 8 &serverTimezone =Asia/Shanghai username : root password : liuhao #Druid连接池 type : com.alibaba.druid.pool.DruidDataSource driver-class-name : com.mysql.cj.jdbc.Driver druid : # 连接池的配置信息 # 初始化大小,最小,最大 initial-size : 5 min-idle : 5 maxActive : 20 #

SpringBoot整合Druid多数据源含Sql和Web监控

强颜欢笑 提交于 2020-01-30 16:36:55
SpringBoot整合Druid多数据源含Sql和Web监控 新建数据库 导入依赖 修改配置文件 新建参数配置相关类 新建上下文环境相关类 新建主配置类 新建注解和AOP类 新建Sql和Web监控类 新建测试接口类 测试结果展示 新建数据库 新建三个数据库,准备测试。为了简单就随便意思一下吧,分别起名为springboot,springboot1,springboot2。然后在每个数据库里面都新建上一张名为person的表,并存入不同的数据。测试的时候就来查这些个person的列表。 导入依赖 其中 aop 多数据源要用到,druid用来实现监控,lombok用来减少代码,不用自己写getter、setter方法。 < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-aop </ artifactId > </ dependency > <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> < dependency > < groupId > com.alibaba </ groupId > < artifactId > druid </ artifactId >

Druid单节点安装

半腔热情 提交于 2020-01-29 00:26:42
1. 前往druid官网下载druid二进制压缩包 2. 将压缩包上传到linux服务器上的制定位置 [ root@hadoop109 data ] # cd /opt/data/ [ root@hadoop109 data ] # rz -be 3. 将压缩包解压并改名(因为名字太长了,不好操作) [ root@hadoop109 data ] # mkdir -p /opt/apps [ root@hadoop109 data ] # tar -zxvf apache-druid-0.16.0-incubating-bin.tar.gz -C /opt/apps/ [ root@hadoop109 apps ] # mv apache-druid-0.16.0-incubating/ druid-0.16.0 4、建立mysql中的druid数据库 mysql > CREATE DATABASE druid CHARACTER SET utf8 COLLATE utf8_general_ci ; Query OK , 1 row affected ( 0.00 sec ) 5、进入配置文件进行配置(因为机器性能原因选择单节点部署druid,small) [ root @hadoop109 small ] # cd / opt / apps / druid - 0.16 .0 /