C3P0组件+DbUtils组件实现一个JdbcUtils工具类

一,准备工作

1)导入相应的驱动及jar包,如下图:

前面几篇博客都有对JDBC连接数据 DbUtils简化数据库操作 C3P0实现连接池进行了介绍.

二,代码环节

1)工具类JdbcUtils.java代码如下:

package com.bighuan.utils;

import javax.sql.DataSource;

import org.apache.commons.dbutils.QueryRunner;

import com.mchange.v2.c3p0.ComboPooledDataSource;

/**
 * 工具类 1,初始化c3p0连接池 2,创建DbUtils核心工具类对象
 * 
 * @author bighuan
 * 
 */
public class JdbcUtils {

	/**
	 * 1,初始化c3p0连接池
	 */
	private static DataSource dataSource;
	static {
		dataSource = new ComboPooledDataSource();
	}

	/**
	 * 创建DbUtils核心工具类对象
	 * 
	 * @return
	 */
	public static QueryRunner getQueryRunner() {
		/**
		 * 创建QueryRunner对象,传入连接池对象(数据源)
		 * 注意:在创建QueryRunner对象时,如果传入了数据源对象,那么在使用QueryRunner对象
		 * 方法的时候,就不需要传入连接连接对象,会自动从数据源中获取连接(不需要关闭,会自动关闭)
		 */
		return new QueryRunner(dataSource);
	}

}

2)c3p0连接池对应的配置文件c3p0-config.xml放在在src目录下:


  
    jdbc:mysql://localhost:3306/day15 
    com.mysql.jdbc.Driver
    root
    abc
    3
    6
    2000 

    

  




到此工具类就准备好了.

三,使用工具类

这个工具类比自己最初的那个JdbcUtils.java工具类方便的多了.当然了,也是使用了一些厉害的组件.使用示例如下:

// 得到DbUtils核心工具类
		QueryRunner qr = JdbcUtils.getQueryRunner();

		String sql = "select * from dept limit ?,?";
		try {
			List pageData = qr.query(sql, new BeanListHandler(
					Dept.class), index, pageCount);

			pb.setPageData(pageData);
		} catch (Exception e) {
			throw new RuntimeException(e);
		}



你可能感兴趣的:(JavaWeb,jdbc)