Uso y configuración del proyecto C3P0-Maven y el proyecto java ordinario

1. Método de configuración

Hay tres formas de configurar c3p0, a saber

1. Proporcione un archivo c3p0-config.xml en la ruta de clase

2. Proporcione un archivo c3p0.properties bajo classpath

3.Los ajustadores establecen cada elemento de configuración uno por uno

 datasource = new ComboPooledDataSource();
//连接配置
datasource.setJdbcUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC");
datasource.setDriverClass("com.mysql.cj.jdbc.Driver");
datasource.setPassword("123");
datasource.setUser("root");

//连接池配置
datasource.setAcquireIncrement(5);//每创建的数量间隔
datasource.setInitialPoolSize(5);//初始化池的大小
datasource.setMaxPoolSize(20);//最大大小
datasource.setMinPoolSize(5);//最小大小

2. La ubicación del archivo de configuración

Principalmente debemos prestar atención a la ubicación del archivo de configuración

2.1, configuración c3p0 del proyecto Maven

1. Primero importe las dependencias c3p0

Agregue el archivo pom.xml

  <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>

2. Agregue la información del archivo de configuración en la carpeta de recursos,
no lo agregue en el archivo src, sino en la carpeta de recursos. ! !

Inserte la descripción de la imagen aquí

<?xml version="1.0" encoding="utf-8"?>
<c3p0-config>
    <!-- 默认配置  创建连接池对象时,默认是加载该配置信息-->
    <default-config>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/test?serverTimezone=UTC</property>
        <property name="user">root</property>
        <property name="password">123456</property>

        <property name="initialPoolSize">5</property>
        <property name="maxPoolSize">20</property>
        <property name="minPoolSize">5</property>
        <property name="checkoutTimeout">3000</property>
    </default-config>
    <!--为oracle提供的配置 创建连接池对象时,可以指定命名加载配置信息-->

    <named-config name="oracle-config">

        <property name="jdbcUrl">jdbc:oracle:thin:@地址:端口:ORCL</property>
        <property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
        <property name="user">root</property>
        <property name="password">12345</property>
        <!-- 池参数 -->
        <property name="acquireIncrement">3</property>
        <property name="initialPoolSize">30</property>
        <property name="minPoolSize">2</property>
        <property name="maxPoolSize">50</property>
    </named-config>

    <named-config name="otherc3p0">
    </named-config>
</c3p0-config>

3. Prueba:

 datasource = new ComboPooledDataSource();//文件位置对的话,自动加载
 public static void main(String[]args) {
    
    
        Connection connection= null;
        Statement statement = null;
        ResultSet res = null;
        try{
    
    
            System.out.println("connect to database....");
            connection = JDBCUtils_C3P0.getConnect();

            System.out.println("create statement...");
            statement = connection.createStatement();

            //3、选择sql命令操作数据库中的数据
            String sql;
            sql="select * from bank";
            //4、执行sql语句,获取结果集
            res = statement.executeQuery(sql);//获取结果集

            //5、从结果集里面获取数据
            while(res.next()){
    
    
                int id = res.getInt("id");
                String name = res.getString("name");
                System.out.println(id+":"+name);

            }
        } catch (SQLException e) {
    
    
            e.printStackTrace();
        }finally {
    
    
                JDBCUtils_C3P0.free(connection,statement,res);
        }
    }

2.2, configuración del proyecto java ordinario

Importe paquetes dependientes y agregue archivos de configuración en la carpeta src. (No probado)
Descarga del paquete:
enlace: https://pan.baidu.com/s/1rAEXqMYvLv7bU4B-oE7o5w
Código de extracción: udyg
copie este contenido y abra la aplicación móvil Baidu Netdisk , la operación es más conveniente

3. La diferencia entre c3p0 y DBCP

  • dbcp no recupera automáticamente las conexiones inactivas, pero c3p0 sí.
  • Los marcos como Hibernate recomiendan usar c3p0 como grupo de conexiones de forma predeterminada, y DBCP no es compatible en el futuro

Supongo que te gusta

Origin blog.csdn.net/qq_44861675/article/details/108165571
Recomendado
Clasificación