c3p0的简单使用

1.导包

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.32</version>
    </dependency>

    <dependency>
        <groupId>c3p0</groupId>
        <artifactId>c3p0</artifactId>
        <version>0.9.1.2</version>
    </dependency>
    <!--DBUtils负责对查询到的数据进行简单封装-->
    <dependency>
        <groupId>commons-dbutils</groupId>
        <artifactId>commons-dbutils</artifactId>
        <version>1.4</version>
    </dependency>

2.书写c3p0-config.xml

<c3p0-config>

    <!-- c3p0默认配置,下面还可以配置多个数据库 -->
    <default-config>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/pinyougoudb
        </property>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="user">root</property>
        <property name="password">root</property>
        <property name="initialPoolSize">6</property>
        <property name="maxPoolSize">50</property>
        <property name="maxIdleTime">1000</property>
    </default-config>

</c3p0-config>

3.书写工具类

package cn.jaclogistic.utils;

import java.sql.Connection;
import java.sql.SQLException;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class C3P0Utils {
    private static ComboPooledDataSource dataSource = new ComboPooledDataSource("mysql");

    public static DataSource getDataSource() {
        return dataSource;
    }

    public static Connection getConnection() {
        try {
            return dataSource.getConnection();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

4.书写实体类

package cn.jaclogistic.dao;

public class User {
    private Integer id;
    private String username;
    private String password;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", username=" + username + ", password=" + password + "]";
    }


}

5.书写测试类

package cn.jaclogistic.dao;

import java.sql.SQLException;
import java.util.List;
import javax.sql.DataSource;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ColumnListHandler;
import org.junit.Test;

import cn.jaclogistic.utils.C3P0Utils;

/**
 * 测试DBUtils查询操作
 * 
 * @author Never Say Never
 * @date 2016年7月31日
 * @version V1.0
 */
public class TestDBUtils2 {

    /*
     * 查询所有用户方法
     */
    @Test
    public void testQueryAll() {
        try {
            // 1.获取核心类queryRunner
            DataSource ds = C3P0Utils.getDataSource();
            QueryRunner qr = new QueryRunner(ds);
            String sql = "select * from tb_user";
            List<Object> list = qr.query(sql, new ColumnListHandler("username") );
            for(Object s : list) {
                System.out.println(s);
            }

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

}

猜你喜欢

转载自blog.csdn.net/qq_40053398/article/details/82621089
今日推荐