Spring配置连接池
---------------------siwuxie095
Spring 配置连接池
1、Spring 配置内置连接池
在
applicationContext.xml 中添加如下内容:
|
<bean <property <property <property <property </bean> |
其中:
jdbc:mysql:///spring_db
是
jdbc:mysql://localhost:3306/spring_db
的简写
即
省略了
localhost:3306
2、Spring 配置 DBCP 连接池
(1)导入两个相关 jar 包
1)commons-dbcp
2)commons-pool

Commons DBCP 下载链接:
http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi
Commons Pool 下载链接:
http://commons.apache.org/proper/commons-pool/download_pool.cgi
(2)在
applicationContext.xml 中添加如下内容:
|
<!-- 注意:由于使用的是 DBCP 2.x 版本,所以全限定名是:
org.apache.commons.dbcp2.BasicDataSource
如果使用的 DBCP 1.x 版本,则全限定名是:
org.apache.commons.dbcp.BasicDataSource --> <bean <property <property <property <property </bean> |
3、Spring 配置 C3P0 连接池
(1)导入
c3p0 的
jar 包

C3P0 下载链接:http://mvnrepository.com/artifact/c3p0/c3p0
(2)在
applicationContext.xml 中添加如下内容:
|
<bean <property <property <property <property </bean> |
4、Spring 配置数据库连接信息到属性文件中
(1)在
src
下创建属性文件
jdbc.properties
|
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql:///spring_db jdbc.username=root |
(2)在
applicationContext.xml 中引入外部属性文件
1)法一:
|
<bean <property </bean> |
2)法二:
|
<!-- 注意:此法要引入 context 约束 --> <context:property-placeholder |
(3)在
applicationContext.xml 中配置连接池
1)法一:配置内置连接池
|
<bean <property <property <property <property </bean> |
2)法二:配置
DBCP 连接池
|
<bean <property <property <property <property </bean> |
3)法三:配置
C3P0 连接池
|
<bean <property <property <property <property </bean> |
参考链接:
5、以内置连接池为例,进行测试
(1)在
MySQL 中手动创建数据库和表
数据库名:spring_db,表名:user,字段:username、password

(2)编写一个测试类
JdbcTemplateDemo.java:
|
package com.siwuxie095.jdbc; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jdbc.core.JdbcTemplate; public class JdbcTemplateDemo {
/** * 手动加上 @Test 以进行单元测试(将自动导入 JUnit 4 的 jar 包) * * 选中方法名,右键->Run As->JUint Test */ @Test public
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
JdbcTemplate jdbcTemplate=(JdbcTemplate) context.getBean("jdbcTemplate");
String sql="insert into user values(?,?)";
/** * 调用 update() 方法实现添加,返回值是 int 型, * 创建以接收,表示在数据库中影响的行数 */ int row=jdbcTemplate.update(sql, "小强","4321"); System.out.println(row); } } |
(3)在配置文件中进行配置
applicationContext.xml:
|
<?xml <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 <property <property <property <property </bean> <!-- 配置对象 --> <bean <!-- 把对象 dataSource 传递到模板对象 jdbcTemplate 中
在 JdbcTemplate 源代码中有属性 dataSource 和其 set 方法,所以可以注入 --> <property </bean> </beans> |
【made by siwuxie095】
Spring配置连接池的更多相关文章
- spring配置连接池和dao使用jdbcTemplate
1 spring配置c3p0连接池 第一步 导入jar包 第二步 创建spring配置文件,配置连接池 (1)把代码中的实现在配置文件中实现 2 dao使用jdbcTemplate (1) 创建ser ...
- Spring配置连接池和 Dao 层使用 jdbcTemplate
1.Spring 配置 c3p0 连接池 (1)导入jar包(Maven项目) <dependency> <groupId>com.mchange</groupId> ...
- Spring c3p0连接池配置
数据库连接池 数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”.预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去.我们可以通过设定连接 ...
- Spring c3p0连接池无法释放解决方案
通过c3p0配置连接池的时候,在进行压力测试的时候,日志出现了这样一个错误:Data source rejected establishment of connection, message from ...
- springboot2.0配置连接池(hikari、druid)
springboot2.0配置连接池(hikari.druid) 原文链接:https://www.cnblogs.com/blog5277/p/10660689.html 原文作者:博客园--曲高终 ...
- [转帖]springboot2.0配置连接池(hikari、druid)
springboot2.0配置连接池(hikari.druid) 原文链接:https://www.cnblogs.com/blog5277/p/10660689.html 原文作者:博客园--曲高终 ...
- 转!数据库连接池概念、种类、配置(DBCP\C3P0\JndI与Tomact配置连接池)
数据库连接池概念.种类.配置(DBCP\C3P0\JndI与Tomact配置连接池) 一.DBCP 连接:DBCP 连接池是 Apache 软件基金组织下的一个开源连接池实现. 需要的 java 包c ...
- Tomcat上配置连接池{ connect error=Name [jdbc/OracleDB] is not bound in this Context. Unable to find [jdbc]}
. 在学习期间,从未实践过在tomcat上配置连接池,今天终于实现一次,在tomcat玩了一把,不知道你是否现在有和我一样的困境.废话少说直接上代码 java public static Con ...
- Tomcat 配置连接池
1. Tomcat 配置 JNDI 资源 JNDI(Java Naming and Directory Interface), Java 命名和目录接口; JNDI 作用: 在服务器上配置资源, 然后 ...
随机推荐
- 杂项-TOOL:NPIO
ylbtech-杂项-TOOL:NPIO NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作.NPOI是一个开源的Ja ...
- 解决 pycharm can not save setting
这个问题出现的原因是因为PyCharm中存在相同名字的虚拟环境变量. 解决方法:Configure Python Interpreter 点击右上角齿轮状按钮, 选择 show all,然后删除相同名 ...
- 【Codeforces】CF 5 C Longest Regular Bracket Sequence(dp)
题目 传送门:QWQ 分析 洛谷题解里有一位大佬讲的很好. 就是先用栈预处理出可以匹配的左右括号在数组中设为1 其他为0 最后求一下最长连续1的数量. 代码 #include <bits/std ...
- AWR实战分析之---- PX Deq Credit: send blkd (转载)
该等待事件我在前面分析过,但是这次和上次产生的原因有些不一样,上次该等待事件的详细分析链接是:http://blog.sina.com.cn/s/blog_61cd89f60102eeen.html ...
- 对抗样本攻防战,清华大学TSAIL团队再获CAAD攻防赛第一
最近,在全球安全领域的殿堂级盛会 DEF CON 2018 上,GeekPwn 拉斯维加斯站举行了 CAAD CTF 邀请赛,六支由国内外顶级 AI 学者与研究院组成的队伍共同探讨以对抗训练为攻防手段 ...
- swagger配置
1.pom.xml <!--swagger2--> <dependency> <groupId>io.springfox</groupId> <a ...
- ldap快速配置
1.[yum lamp环境] yum -y install httpd httpd-devel mysql mysql-server mysql-devel php php-mysql php-co ...
- 解决python执行linux查看文件命令后,因为^@特殊符号导致部分内容不显示的问题
问题现象 文件a的内容如下: 查看第3行到第5行的内容:sed -n '3,5p' /tmp/test/a 可见在命令行执行,是没有问题的. 在python中使用paramiko模块执行linux命令 ...
- [PHP]用户登陆中间件
Laravel 4中,可以使用Route::filter,而在Laravel 5中,没有了filter.php文件,官方建议使用中间件做. 下面是用户登陆的测试例子,涉及到的一些方法和使用,先参见这里 ...
- mysql数据库复制
核心命令是 myssqldump mysqldump --host=host1 --opt sourceDb| mysql --host=host2 -C targetDb 详情参考: MySQL数据 ...