zoukankan      html  css  js  c++  java
  • C3P0使用

    数据库连接池

    • 在系统初始化时准备一定数量的连接
    • 使用时进行请求,使用后归还
      好处:避免频繁创建和销毁请求,提高响应速度
      一般,不会自己写数据库连接池,而是采用第三方数据库厂商的:比如C3P0和阿里巴巴的Druid(德鲁伊)。
      注意:使用第三方数据库连接池仍然要导入对应版本的mysql的jar包
      在javax.sql下提供了一个DataSource接口来制定标准。

    C3P0

    1、配置pom.xml
    c3p0有两个jar包

    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>mchange-commons-java</artifactId>
      <version>0.2.12</version>
    </dependency>
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.2</version>
    </dependency>
    

    2、配置文件
    两种形式:xml和properties均可,建议命名为c3p0-config.xml和c3p0.properties。有时候测试会默认加载,但有时加载无效。可以考虑直接指定。
    简单来说就是配置四个属性:user、password、driverClass、jdbcUrl
    (1)c3p0-config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
        <default-config>
            <property name="user">root</property>
            <property name="password">3145tj</property>
            <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/study?useSSL=false&amp;serverTimezone=UTC&amp;characterEncoding=utf8</property>
        </default-config>
    </c3p0-config>
    

    (2)c3p0.properties

    user=root
    password=3145tj
    driverClass=com.mysql.cj.jdbc.Driver
    jdbcUrl=jdbc:mysql://localhost:3306/study?useSSL=false&amp;serverTimezone=UTC&amp;characterEncoding=utf8
    

    3、主要代码

    DataSource dataSource = new ComboPooledDataSource();
    Connection connection = dataSource.getConnection();
    

    4、不用配置文件,直接代码设置相关属性

    DataSource dataSource = new ComboPooledDataSource();
    ((ComboPooledDataSource) dataSource).setDriverClass("");
    ((ComboPooledDataSource) dataSource).setUser("");
    ((ComboPooledDataSource) dataSource).setPassword("");
    ((ComboPooledDataSource) dataSource).setJdbcUrl("");
    Connection connection = dataSource.getConnection();
    

    spring配置

    <!-- 配置c3p0连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <!-- 注入属性值 -->
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql:///spring_day03"></property>
        <property name="user" value="root"></property>
        <property name="password" value="root"></property>
    </bean>
    
  • 相关阅读:
    串的模式匹配问题
    游戏手柄directinput编程
    Hibernate的generator属性的意义
    MySQL——基础入门
    IEbug——li标签之间的空隙
    struts2 jar包详解
    hibernate自动建库(MySQL)
    hibernate参数一览表
    js中的逻辑运算符
    hibernate的离线关联(多级)查询
  • 原文地址:https://www.cnblogs.com/heibaimao123/p/13800603.html
Copyright © 2011-2022 走看看