三种数据池使用方式笔记

目录

一、Tomcat-DBCP

1、首先在tomcat的conf/context.xml中配置如下信息:

2、在项目的web.xml中配置如下信息,就可以在当前应用中使用:

3、使用:

二、Apache-DBCP(DBCP)

1、添加jar包

2、获取DataSoure对象的两种方式(硬编码方式):

(1)通过BasicDataSource

(2)通过BasicDataSourceFactory(配置文件方式):

三、C3P0

1、添加jar包:

2、获取DataSource的两种方式:

(1)硬编码方式

(2)配置文件方式


一、Tomcat-DBCP

1、首先在tomcat的conf/context.xml中配置如下信息:

tomcat7.0版本:

 

tomcat8.0、9.0版本:

将其中的maxActive替换为maxTotal="8"maxWait 替换为maxWaitMillis

注意:要在tomcat的lib下放数据库驱动jar包

2、在项目的web.xml中配置如下信息,就可以在当前应用中使用:


     myDBCP 
     javax.sql.DataSource 
     Container 

3、使用:

InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:comp/env/myDBCP");
Connection conn = ds.getConnection();

注:以下都是通过DataSource对象获取数据库连接,只写到获取该对象为止。

二、Apache-DBCP(DBCP

1、添加jar包

commons-dbcp-1.4.jar

commons-pool-1.4.jar

2、获取DataSoure对象的两种方式(硬编码方式):

(1)通过BasicDataSource

public static DataSource getBasicDataSource (){
     BasicDataSource bdcp = new BasicDataSource();
     bdcp.setDriverClassName("com.mysql.jdbc.Driver");
     bdcp.setUsername("root");
     bdcp.setPassword("admin");
     bdcp.setUrl("jdbc:mysql://localhost:3306/hospital");
     bdcp.setInitialSize(10);
     bdcp.setMaxIdle(10);
     bdcp.setMaxActive(10);
     bdcp.setMaxWait(30);
     return bdcp;
}

(2)通过BasicDataSourceFactory(配置文件方式):

a.首先新建一个dbcpconfig.properties文件:

driverClassName = com.mysql.jdbc.Driver
username = root
password = admin
url = jdbc:mysql://localhost:3306/hospital
initialSize = 10
maxIdle = 10
maxActive = 10
maxWait = 30

b.再创建DataSource对象:

public static DataSource getBasicDataSourceFactory (){
    DataSource ds = null;
    Properties prop = new Properties();
    InputStream input = new testDBCP().getClass().getClassLoader().getResourceAsStream("dbpcconfig.properties");
    try {
        prop.load(input);
        ds = BasicDataSourceFactory.createDataSource(prop);
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return ds;
}

三、C3P0

1、添加jar包:

c3p0-0.9.5.2.jar

mchange-commons-java-0.2.11.jar

2、获取DataSource的两种方式:

(1)硬编码方式

public static DataSource getDataSource(){
        ComboPooledDataSource c3po = new ComboPooledDataSource();
        try {
            c3po.setDriverClass("com.mysql.jdbc.Driver");
            c3po.setJdbcUrl("jdbc:mysql://localhost:3306/hospital");
            c3po.setUser("root");
            c3po.setPassword("admin");
            c3po.setInitialPoolSize(20);
            c3po.setMaxIdleTime(10);
            c3po.setMaxPoolSize(10);
        }catch (PropertyVetoException e){
            e.printStackTrace();
        }
        return c3po;
}

(2)配置文件方式

a.先创建c3p0-config.xml(文件名必须为这个)文件:



    
        
        root
        admin
        com.mysql.jdbc.Driver
        30000
    

    
        
        jdbc:mysql://localhost:3306/hospital
    

b.获取DataSource对象

public static DataSource getDataSource(){
    return new ComboPooledDataSource("myConfig");//这里的参数为配置文件中自定义name属性的值
}

 

你可能感兴趣的:(Java)