java使用DBCP连接池创建工具类
2018-06-06 12:25
435 查看
1.说明
java中有个扩展包 javax下面有个DataResource的接口 javax.sql.DataResource
该接口定义了连接池的方法规范
而DBCP框架有apache公司开发,他实现了接口DataResource定义的方法
他的实现类是BasicDataResorce org.apache.commons.dbcp.BasicDataSource;
2.写定义连接池的类
package demo; /* * 使用DBCP实现数据库的连接池 * 连接池配置,自定义类, * 最基本四项完整 * 对于数据库连接池其他四项,自定义 */ import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; //DataSource的实现类 public class JDBCUtils{ //创建出BasicDataSource类对象 private static BasicDataSource datasource=new BasicDataSource(); //静态代码库,对象BasicDataSource对象中的配置,自定义 static{ //数据库连接信息,必须的 datasource.setDriverClassName("com.mysql.jdbc.Driver"); datasource.setUrl("jdbc:mysql://localhost:3306/mybase"); datasource.setUsername("root"); datasource.setPassword("123456"); //设置连接池中的连接数量配置,可选的配置项 datasource.setInitialSize(10);//初始化的连接数 datasource.setMaxActive(8);//最大连接数 datasource.setMaxIdle(5);//最大空闲数 datasource.setMinIdle(1);//最小空闲数 } //定义静态方法,返回BasicDataSource类的对象 public static DataSource getDataSource(){ return datasource; } }
3.结合 dbutils框架下的QueryRunner方法 实现数据库的操作
package demo; /* * 测试写好的工具类, * 提供的是一个DataSource接口的数据源 * QueryRunner类构造方法,接受DataSource接口的实现类 * 后面,调用方法update,query,无需传递他们Connection链接对象 */ import java.sql.SQLException; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.ArrayListHandler; import demo.JDBCUtils; public class QueryRunnerDemo{ public static void main(String[] args) { //insert(); select(); } //定义2个方法,实现数据表的添加,数据表查询 //QueyRunnner类对象,卸载类成员位置 private static QueryRunner qr=new QueryRunner(JDBCUtils.getDataSource()); //数据表查询 public static void select(){ String sql="select * from sort"; try{ List<Object[]> list=qr.query(sql, new ArrayListHandler()); for(Object[] objs:list){ for(Object obj:objs){ System.out.print(obj+"\t"); } System.out.println(); } }catch (SQLException e){ e.printStackTrace(); throw new RuntimeException("查询数据失败"); } } //数据表添加数据 public static void insert() { String sql="insert into sort (sname,sprice,sdesc) values (?,?,?)"; Object[] params={"水果",100.12,"刚刚上市的核桃"}; try{ int num=qr.update(sql,params); System.out.println(num); }catch(SQLException e){ e.printStackTrace(); throw new RuntimeException("数据添加失败"); } } }
相关文章推荐
- 使用DBUtils+DBCP2+pool2+logging第三方工具类,创建连接池
- 【职坐标】使用FastJson创建Java Json解析工具类
- 使用DBCP创建连接池
- java JDBC 使用DBCP连接池
- 2.4Java面向对象-数组工具类创建使用过程
- JAVA使用DBCP创建数据库连接池及测试
- Java使用DBCP连接池
- Java 连接池(使用DBCP与C3P0)
- JDBC实例--工具类升级,使用Apache DBCP连接池重构DBUtility,让连接数据库更有效,更安全
- Java 使用 DBCP mysql 连接池 做数据库操作
- JavaWeb之DButils(二)使用DBCP实现数据库的连接池
- java dbcp连接池的使用
- JAVAWEB开发之事务详解(mysql与JDBC下使用方法、事务的特性、锁机制)和连接池的详细使用(dbcp以c3p0)
- 【Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池
- 【末世旅行之Java】HttpClient工具类,包含POST和GET请求,使用了连接池和代理
- JAVA工具类(15)----验证码工具类的创建、配置、使用及后台验证
- java中什么时候使用静态static,工具类的创建
- 连接池DBCP的使用(JAVA源码)
- Java:使用Executors创建和管理线程
- 独家:使用iText JAR在Java中创建PDF