欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C3P0配置文件和作用

程序员文章站 2024-03-20 08:50:16
...

C3P0的作用是获取数据库连接,对象为一个类型为DataSource的数据库连接池
Spring中Templeta通过数据库连接池来获得数据库操作对象。
C3P0共有三个配置文件
lib下有两个jar包
C3P0配置文件和作用

在src有c3p0需要的数据库描述配置文件C3P0配置文件和作用
c3p0.properties文件内容为

c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql://localhost:3306/book
c3p0.user=root
c3p0.password=123456

以上为c3p0所有的内容
此时写一个JDBCUtils来获取数据库连接池
C3P0配置文件和作用

JDBCUtils内容为:

package c3p0;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import javax.sql.DataSource;
import java.sql.Connection;

public class JdbcUtils {
    private JdbcUtils(){}
    private static DataSource ds;
    static {
        try{
            ds=new ComboPooledDataSource();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    public static Connection getConnection() throws Exception{
        return ds.getConnection();            //获取方法为JdbcUtils.getConnection方法
    }
    public static DataSource getDataSource(){
        return ds;                                  //获取数据库池为Utils.getDataSource
    }
    public static void clossAll(AutoCloseable... all){
        for (AutoCloseable au :all){
            try {
                au.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }


}

测试时代码为

package c3p0;

import org.springframework.jdbc.core.JdbcTemplate;

import java.util.Map;

public class c3p0test {
    public static void main(String[] args) {
        JdbcTemplate jdbcTemplate = new JdbcTemplate(JdbcUtils.getDataSource());
        String sql="select * from admin where id =1";
        Map<String, Object> map = jdbcTemplate.queryForMap(sql);
        System.out.println(map);
    }
}

相关标签: c3p0