博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring配置dataSource:dbcp数据库连接池
阅读量:6311 次
发布时间:2019-06-22

本文共 3318 字,大约阅读时间需要 11 分钟。

hot3.png

    使用org.apache.commons.dbcp.BasicDataSource配置spring数据库连接,使用数据库连接池技术。

    项目部分引用jar的maven配置

commons-pool
commons-pool
1.6
commons-dbcp
commons-dbcp
1.4
org.springframework
spring-jdbc
4.0.0.RELEASE
mysql
mysql-connector-java
5.1.38

1、新建一个简单的spring项目,用以测试配置dbcp连接池。其目录结构如下:

163203_6bkW_2972417.png

项目目录说明:

dbcpTestfileBeans.xml: spring应用上下文。

jdbc.properties:dbcp数据库连接池配置文件。

UserDao.java:DAO层bean。

DbcpMain:测试类。

由于只是自己随便搭建用来测试的,所以文件名命名很不规范,也没目录可言。

测试用数据库表及表数据如下:

165938_PiA7_2972417.png

2、需要引用的jar包。

commons-pool
commons-pool
1.6
commons-dbcp
commons-dbcp
1.4
org.springframework
spring-jdbc
4.0.0.RELEASE
mysql
mysql-connector-java
5.1.38

3、项目文件内容。

jdbc.properties:

#加载驱动jdbc.driverClassName=com.mysql.jdbc.Driver#数据库jdbc.url=jdbc:mysql://172.21.4.45:3307/cdspdb?useUnicode=true&characterEncoding=utf-8#数据库用户名jdbc.username=cdsp#数据库密码jdbc.password=cdsp#初始化连接数jdbc.initialSize=3#最大连接数,非正数为不限制jdbc.maxActive=1000#最大空闲连接数,负数为不限制jdbc.maxIdle=5#最小空闲连接数,0为不保留空闲连接jdbc.minIdle=1#获取连接最大等待时间 ,单位毫秒jdbc.maxWait=1000#数据库连接验证语句jdbc.validationQuery=select 1#空闲连接检验回收器设置jdbc.testWhileIdle=true#空闲连接回收器线程运行周期,单位为毫秒,值大小以数据库为准,非正数则不运行空闲连接回收器线程 jdbc.timeBetweenEvictionRunsMillis=300000

dbcpTestfileBeans.xml:

UserDao.java:

package com.springtest.dbcp;import java.util.List;import java.util.Map;import org.springframework.jdbc.core.JdbcTemplate;public class UserDao {		JdbcTemplate jdbcTemplate;	    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {          this.jdbcTemplate = jdbcTemplate;      } 	public List
> queryByName(String name) { String sql = "select * from thnb_user where user_name='" + name + "' "; List
> list = jdbcTemplate.queryForList(sql); return list; }}

DbcpMain:

package com.springtest.dbcp;import java.util.List;import java.util.Map;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class DbcpMain {	public static void main(String[] args) {//		String contextXmlPath = "com/springtest/dbcp/DbcpTestbeans.xml";		//spring应用上下文		String contextXmlPath2 = "com/springtest/dbcp/dbcpTestfileBeans.xml";		ApplicationContext ctx = new ClassPathXmlApplicationContext(contextXmlPath2);		UserDao userDao = (UserDao) ctx.getBean("UserDao");		List
> list = userDao.queryByName("thb"); System.out.println(list); }}

4、测试验证

    执行DbcpMain,打印如下:

164803_NHdg_2972417.png

除了打印出查询结果外,上面还有几行是在连接池建立初始化链接时的警告。配置没问题。

5、在项目中配置dbcp数据库连接池。

    在项目中配置的话, 则可以将jdbc.properties直接拿去放在项目目录下,引用到spring应用上下文中,再配置需要的参数。将测试项目dbcpTestfileBeans.xml中的dataSource对应配置到项目的springcontext中。

转载于:https://my.oschina.net/u/2972417/blog/1628950

你可能感兴趣的文章
云服务正在吞噬世界!
查看>>
阅读Android源码的一些姿势
查看>>
Web语义化标准解读
查看>>
一份代码构建移动、桌面、Web全平台应用
查看>>
高性能 Lua 技巧(译)
查看>>
区分指针、变量名、指针所指向的内存
查看>>
异步编程的世界
查看>>
最近话题火爆的四件事你知道不?
查看>>
SpringBoot整合MyBatis
查看>>
云计算产业如何率先推行信用管理?
查看>>
Android 类库书签更新(一)
查看>>
Unity3D Input按键系统
查看>>
简单的一条SQL,不简单的做事思维 NOT IN 、NOT EXISTS、LEFT JOIN用法差别 ...
查看>>
DataWorks:任务未运行自助排查
查看>>
ionic/cordova热部署
查看>>
「镁客早报」特斯拉裁员,马斯克解释没有办法;微软推出Azure DevOps赏金计划...
查看>>
centos 7.4 使用 pgxc_ctl 安装与使用
查看>>
Redis 单key值过大 优化方式
查看>>
【数据库】表分区
查看>>
nutz-sqltpl 1.3.4.RELEASE 发布,在 Nutz 项目中“解决 Java 拼接 SQL”问题
查看>>