创建项目:

导入jar包:

  参见上图。

JDBCConn.java获取数据源类:

package com.gordon.jdbcconn;

import java.io.InputStream;
import java.util.Properties; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; public class JDBCConn { private static String DRIVERNAME = null;
private static String URL = null;
private static String USER = null;
private static String PASSWORD = null; private static BasicDataSource datasource = new BasicDataSource(); static {
try { Properties props = new Properties();
InputStream in = JDBCConn.class.getClassLoader().getResourceAsStream("db.properties");
props.load(in); DRIVERNAME = props.getProperty("drivername");
URL = props.getProperty("url");
USER = props.getProperty("user");
PASSWORD = props.getProperty("password"); } catch (Exception e) {
throw new RuntimeException(e);
}
} public static DataSource getDatasource() throws Exception { /*
driverClassName 数据库驱动名称
url 数据库的地址
username 用户名
password 密码
maxActive 最大连接数量
minIdle 最小空闲连接
maxIdle 最大空闲连接
initialSize 初始化连接
*/ datasource.setDriverClassName(DRIVERNAME);
datasource.setUrl(URL);
datasource.setUsername(USER);
datasource.setPassword(PASSWORD); return datasource;
}
}

  

DBCPTest.java测试类:

package com.gordon.dbcp;

import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayListHandler; import com.gordon.jdbcconn.JDBCConn; public class DBCPTest {
public static void main(String[] args) {
try { selectFunction();
insertFunction();
selectFunction(); } catch (Exception e) {
System.out.println(e.getMessage());
}
} public static void insertFunction() throws Exception {
QueryRunner qr = new QueryRunner(JDBCConn.getDatasource()); String sql = "INSERT INTO user (name) VALUES (?)"; Object[] params = {"testname"}; int res = qr.update(sql, params); if(res > 0) {
System.out.println("insert success.");
} else {
System.out.println("insert faild.");
}
} public static void selectFunction() throws Exception {
QueryRunner qr = new QueryRunner(JDBCConn.getDatasource()); String sql = "SELECT * FROM user"; Object[] params = {}; List<Object[]> objList = qr.query(sql, new ArrayListHandler(), params); for (Object[] objs : objList) {
for (Object obj : objs) {
System.out.print(obj + " ");
}
System.out.println();
}
}
}

  

Java-DBCP连接池的更多相关文章

  1. java dbcp连接池的使用

    package com.jb.jubmis.comm; import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQL ...

  2. DBCP连接池配置(DBCPUtils.java)

    配置文件 db_dbcp.properites driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/db?useSSL= ...

  3. Java基础-DBCP连接池(BasicDataSource类)详解

    Java基础-DBCP连接池(BasicDataSource类)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程 ...

  4. MySQL_(Java)【连接池】使用DBCP简单模拟银行转账事物

    dbcp下载 传送门 Commons Pool下载 传送门 Commons log下载 传送门 MySQL_(Java)[事物操作]使用JDBC模拟银行转账向数据库发起修改请求 传送门 MySQL_( ...

  5. DBCP连接池简介

    DBCP连接池简介 1.数据库连接基础 数据库连接池基础主要包括以下三个方面的内容:数据库连接池的基本概念.数据库连接池的工作原理.Java开源的连接池.下面将从这三个方面一一介绍: (1)数据库连接 ...

  6. Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  7. DBCP连接池介绍

    DBCP连接池介绍 ----------------------------- 目前 DBCP 有两个版本分别是 1.3 和 1.4. DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 ...

  8. DBCP连接池原理分析及配置用法

    DBCP连接池介绍 ----------------------------- 目前 DBCP 有两个版本分别是 1.3 和 1.4. DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 ...

  9. JNDI和在tomcat中配置DBCP连接池 元数据的使用 DBUtils框架的使用 多表操作

    1 JNDI和在tomcat中配置DBCP连接池 JNDI(Java Naming and Directory Interface),Java命名和目录接口,它对应于J2SE中的javax.namin ...

  10. 【转】DBCP连接池原理分析

    ---------------------------- 目前 DBCP 有两个版本分别是 1.3 和 1.4. DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 JDBC 3. DB ...

随机推荐

  1. MongoDB基本管理命令 [转]

    MongoDB基本管理命令 linux下配置安装mongodb 10分钟玩转mongoDB 官网安装教程 使用命令行方式连接mongodb: mongo /admin -u用户名 -p密码  --连接 ...

  2. RabbitMQ消息队列(二):"Hello, World"[转]

    2. Sending 第一个program send.cs:发送Hello world 到queue.正如我们在上篇文章提到的,你程序的第9行就是建立连接,第12行就是创建channel,第14行创建 ...

  3. Kafka中Topic级别配置

    一.Kafka中topic级别配置 1.Topic级别配置 配置topic级别参数时,相同(参数)属性topic级别会覆盖全局的,否则默认为全局配置属性值. 创建topic参数可以设置一个或多个--c ...

  4. Android用shareUserID实现多个Activity显示在同一界面

    近来整理文档,发现两年前研究Android多个Activity叠加显示的方案.时光荏苒,一去不回. 虽然后来没有用上,但还是整理如下,Android版本还是2.2的: ActivityGroup描画方 ...

  5. Dev BarManager使用方法

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking 近期使用BarManager时候.发现一个问题就是在一開始把BarManager控件拖到窗口上的时 ...

  6. 页面日期选择控件--jquery ui datepicker 插件

    日期选择插件Datepicker是一个配置灵活的插件,我们可以自定义其展示方式,包括日期格式.语言.限制选择日期范围.添加相关按钮以及其它导航等.官方地址:http://docs.jquery.com ...

  7. js cookie库

    顺手摘下来 /** * @desc 设置Cookie * @param {String} name * @param {String} value * @param {Number} expires ...

  8. 统一日志监控系统 springboot websocket 简单版 王代军-作品

    http://git.oschina.net/redArmy/springboot-websocket-logs 目的: 统一监控 开发测试环境日志 如果需要可以拓展线上环境的日志(自己视情况而定) ...

  9. mysql-5.7 innodb change buffer 详解

    一.innodb change buffer 介绍: 1.innodb change buffer 是针对oltp场景下磁盘IO的一种优化(我也感觉这个不太像人话,但是它又非常的准确的说明 innod ...

  10. unity update与fixedUpdate

    update与渲染同步.fixedUpdate与物理同步. 在update中,speed要乘以Time.deltaTime.在fixedUpdate中,speed要乘以Time.fixedDeltaT ...