JDBC之Druid连接池的使用

一个基本项目结构由DB类(负责连接数据库的工作),DAO接口及实现类(继承DB类),bean对象封装类,Druid在DB和DAO内使用

DB类:

DB类负责获取数据源,基本步骤如下

1.准备配置文件 db.properties

url=jdbc:oracle:thin:@192.168.31.50:1521:orcl
username=hanxd
password=123

2.在DB类中读取配置文件到InputStream

InputStream is = DB.class.getClassLoader().getResourceAsStream("db.properties");
//Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键
及其对应值都是一个字符串。
Properties pp = new Properties();
pp.load(is);
//ds是一个`protected`的`DataSource类型`的成员变量
//数据源工厂.创建数据源
ds = DruidDataSourceFactory.createDataSource(pp);

DAO实现类:

DAO类的工作就比较简单了,通过继承DB类获取数据源ds

1.调用DB类中的getDs()方法获取连接

getDs();

2.创建QueryRunner对象,并向构造器传入数据源ds

QueryRunner qr = new QueryRunner(ds);

3.创建并执行sql

String sql = "select * from table where column=?";
List<E> list = qr.query(sql,new BeanListHandler<E>(),column1...);

最后呢,稍微提一下QueryRunner的方法,query本身有多种参数传递方式,可以像上面那样不提供连接,也可以这样需要提供连接的数据查询:qr.query(Connection conn,String sql,[rsh结果集处理方式])
进行增删改操作的时候用qr.update(Connection conn,String sql,column1...n)

原文地址:https://www.cnblogs.com/hanxdblog/p/11028441.html

时间: 2024-11-03 23:12:12

JDBC之Druid连接池的使用的相关文章

Druid连接池-阿里巴巴开源JDBC组件

Druid在连接池领域里可以说是比较火的,是阿里巴巴开源的JDBC连接池.监控组件,下面就简单介绍它一下. 它包括三部分:  DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系. DruidDataSource 高效可管理的数据库连接池. SQLParser . 功能:     .  可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助.     .  替换D

SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置

一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么. 暂时没有整合缓存,druid也没有做ip地址的过滤.Spring的AOP简单配置了下,也还没具体弄,不知道能不能用,log也不知道能不能用,`(*∩_∩*)′哈哈,有点不负责任...... 直接上代码: 使用的eclipse和eclipse自带的maven,参考了网上的资料,有些代码是拷贝的,不过都自己测试过了.嗯,可以跑起来... 先上项目结构: 新建maven项目,选择web,然后配置pom: <pro

使用druid连接池的超时回收机制排查连接泄露问题

在工程中使用了druid连接池,运行一段时间后系统出现异常: Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60009, active 50 at org.springfr

spring 4 + jpa(hibernate 3/4) + spring mvc 多数据源配置(二)+Druid连接池

接上一个博文(http://www.loveweir.com/html/18.html),没有数据库连接池,纯粹用jpa的官方链接. 所以这次要加上连接池本文用Druid连接池来实现多数据源的配置. persistence.xml 这个文件可以省略了,全部配置在applicationContext.xml 里面: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www

Druid连接池及监控在spring中的配置

Druid连接池及监控在Spring配置如下: [html] view plaincopy <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本属性 url.user.password --> <property 

SpringBoot配置MySql数据库和Druid连接池

1.pom文件增加相关依赖,我这里因为上面引入了父pom,所以不需要在当前pom文件下加版本 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifact

Spring Boot2.x 的Druid连接池配置[附带监控]

父依赖[Spring Boot 2.1.x版本] <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.1.RELEASE</version> </parent> 主要依赖[3个] <!--Druid 连接池与Spring B

springboot+druid连接池及监控配置

1. 问题描述 阿里巴巴的数据库连接池Druid在效率与稳定性都很高,被很多开发团队使用,并且自带的Druid监控也很好用,本章简单介绍下springboot+druid配置连接池及监控. 2. 解决方案 2.1 pom.xml springboot 已经有druid的starter,但是好像有点问题,不知道为什么没拿到jar包,有可能是网络问题,还是使用了原生的druid gav. <dependency> <groupId>com.alibaba</groupId>

Druid连接池(无框架)

关于连接池有不少技术可以用,例如c3p0,druid等等,因为druid有监控平台,性能在同类产品中算top0的.所以我采用的事druid连接池. 首先熟悉一个技术,我们要搞明白,为什么要用他, 他能帮我们解决什么问题? 如果不使用连接池会出现的情况:a.占用服务器的内存资源b.导致服务器的速度非常慢1.准备 下载druid1.9的jar包和对应数据库的驱动包. https://mvnrepository.com/artifact/com.alibaba/druid/1.0.9 2.代码 2.1