dbcp2、c3p0、druid连接池的简单配置
引入Maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>08-spring</artifactId>
<groupId>com.taotao</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion> <artifactId>day37_jdbc</artifactId> <properties>
<junit.version>4.12</junit.version>
<spring.version>4.2.4.RELEASE</spring.version>
<slf4j.version>1.6.4</slf4j.version>
<mysql.version>5.1.8</mysql.version>
<dbcp.version>2.1.1</dbcp.version>
<c3p0.version>0.9.1.2</c3p0.version>
<druid.version>1.0.9</druid.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency> <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
</dependency> <dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
</dependency> <dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency> <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies> </project>
配置applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate0">
<constructor-arg ref="dataSource" name="dataSource"/>
</bean> <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate1">
<constructor-arg ref="basicDataSource" name="dataSource"/>
</bean> <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate2">
<constructor-arg ref="comboPooledDataSource" name="dataSource"/>
</bean> <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate3">
<constructor-arg ref="druidDataSource" name="dataSource"/>
</bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="url" value="jdbc:mysql://172.28.128.5:3306/spring_day03"/>
<property name="username" value="ttsc"/>
<property name="password" value="redhat"/>
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="connectionProperties">
<props>
<prop key="useUnicode">yes</prop>
<prop key="characterEncoding">utf8</prop>
</props>
</property>
</bean> <bean class="org.apache.commons.dbcp2.BasicDataSource" id="basicDataSource">
<property name="url" value="jdbc:mysql://172.28.128.5:3306/spring_day03"/>
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="username" value="ttsc"/>
<property name="password" value="redhat"/>
<property name="connectionProperties" value="useUnicode=yes;characterEncoding=utf8"/>
</bean> <bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="comboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="user" value="ttsc"/>
<property name="password" value="redhat"/>
<property name="jdbcUrl"
value="jdbc:mysql://172.28.128.5:3306/spring_day03?useUnicode=true&characterEncoding=utf-8"/>
</bean> <bean class="com.alibaba.druid.pool.DruidDataSource" id="druidDataSource" destroy-method="close">
<property name="url" value="jdbc:mysql://172.28.128.5:3306/spring_day03"/>
<property name="username" value="ttsc"/>
<property name="password" value="redhat"/>
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="connectionProperties" value="useUnicode=yes;characterEncoding=utf8"/>
</bean> </beans>
编写测试代码
package com.itheima.demo1; import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import javax.annotation.Resource;
import java.util.Properties; /**
* Created by Eric on 3/9/17.
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = "classpath:applicationContext.xml")
public class demo1 { @Resource(name = "jdbcTemplate0")
private JdbcTemplate template0; @Resource(name = "jdbcTemplate1")
private JdbcTemplate template1; @Resource(name = "jdbcTemplate2")
private JdbcTemplate template2; @Resource(name = "jdbcTemplate3")
private JdbcTemplate template3; @Test
public void run1() throws Exception { Properties properties = new Properties();
properties.put("useUnicode", "yes");
properties.put("characterEncoding", "utf8"); DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://172.28.128.5:3306/spring_day03");
dataSource.setUsername("ttsc");
dataSource.setPassword("redhat");
dataSource.setConnectionProperties(properties); JdbcTemplate template = new JdbcTemplate(dataSource);
template.update("INSERT INTO t_account VALUES (NULL ,?,?)", "小明", 1000);
} @Test
public void run2() throws Exception {
template0.update("INSERT INTO t_account VALUES (NULL ,?,?)", "冠希", 1000);
} @Test
public void run3() throws Exception {
template1.update("INSERT INTO t_account VALUES (NULL ,?,?)", "小强", 1000);
} @Test
public void run4() throws Exception {
template2.update("INSERT INTO t_account VALUES (NULL ,?,?)", "小美", 1000);
} @Test
public void run5() throws Exception {
template3.update("INSERT INTO t_account VALUES (NULL ,?,?)", "小六", 1000);
}
}
dbcp2、c3p0、druid连接池的简单配置的更多相关文章
- Druid连接池参数maxWait配置错误引发的问题
Druid连接池参数maxWait配置错误引发的问题 1. 背景 数据库服务器(服务部署在客户内网环境)的运行一段时间后,网卡出现了问题,导致所有服务都连接不上数据库,客户把网络恢复之后,反馈有个服务 ...
- Druid连接池简介和配置
Druid是什么?有什么作用? Druid首先是一个数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser. Druid ...
- DRUID连接池的实用 配置详解
DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针 ...
- DRUID连接池的简单使用
DRUID——为监控而生的DB池 1. DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监 ...
- spring boot 学习(四)Druid连接池的使用配置
Druid介绍 Druid是一个JDBC组件,druid 是阿里开源在 github 上面的数据库连接池,它包括三部分: * DruidDriver 代理Driver,能够提供基于Filter-Cha ...
- springboot+druid连接池及监控配置
1. 问题描述 阿里巴巴的数据库连接池Druid在效率与稳定性都很高,被很多开发团队使用,并且自带的Druid监控也很好用,本章简单介绍下springboot+druid配置连接池及监控. 2. 解决 ...
- SpringBoot下Druid连接池的使用配置
Druid是一个JDBC组件,druid 是阿里开源在 github 上面的数据库连接池,它包括三部分: * DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体 ...
- Spring系列之集成Druid连接池及监控配置
前言 前一篇文章我们熟悉了HikariCP连接池,也了解到它的性能很高,今天我们讲一下另一款比较受欢迎的连接池:Druid,这是阿里开源的一款数据库连接池,它官网上声称:为监控而生!他可以实现页面监控 ...
- Spring Boot下Druid连接池的使用配置分析
https://blog.csdn.net/blueheart20/article/details/52384032
随机推荐
- OpenERP 中国财务模块 调整
最开始的模样是这个样子的 后三行是没用的,于是在RML文件中注释掉相关的代码,改进后的界面如下: 这个样子看起来是好多了,但是 数量跟是十亿千百的那块看起来还是很别扭,调整行高后的结果: 最诡异的事情 ...
- (转)生活中的OO智慧——大话面向对象五大原则
一·单一职责原则(Single-Responsibility Principle) 定义:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中. 宿舍里并不能好好学习,自习还是得去图书馆.这 ...
- (转)DB2性能优化 – 如何通过调整锁参数优化锁升级
原文:http://blog.51cto.com/5063935/2074306 1.概念描述 所谓的锁升级(lock escalation),是数据库的一种作用机制,为了节约内存的开销, 其会将为数 ...
- C++中文件流操作
一.C++中流和流操作符 C++中把数据之间的传输操作称为流,流既可以表示数据从内存传送到某个载体或设备中,即输出流,也可以表示数据从某个载体或设备传送到内存缓冲区变量中,即输入流.C++输入输出除了 ...
- Android6.0内核移植(2):kernel编译内核
普通步骤是:用来编译整个Android源码 source build/envsetup.sh lunch sabresd_6dq-user make -j20 不过每次这样太繁琐,下面来单独编译ker ...
- Android 直接通过JNI访问驱动
package com.yang.jniaccesshardware; import android.os.Bundle; import android.support.v7.app.AppCompa ...
- JavaScript的柯里化函数
柯里化,或者说部分应用,是一种函数式编程的技术,对于熟悉以传统方式编写 JavaScript 代码的人来说可能会很费解.但如果使用得当,它可以使你的 JavaScript 函数更具可读性. 更具可读性 ...
- mysql备份 小结 (三种方式的详细解读)
备份的本质就是将数据集另存一个副本,但是原数据会不停的发生变化,所以利用备份只能回复到数据变化之前的数据.那变化之后的呢?所以制定一个好的备份策略很重要 新建一个all.sqlvim all.sql在 ...
- 浅谈FileReader
FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据. 了解https://develope ...
- Varint数值压缩算法
Varint 是一种紧凑的表示数字的方法.它用一个或多个字节来表示一个数字,值越小的数字使用越少的字节数.这能减少用来表示数字的字节数.比如对于 int32 类型的数字,一般需要 4 个 byte 来 ...