zoukankan      html  css  js  c++  java
  • [课本10.1.4]JDBC数据库连接池- C3P0数据源--通过构造方法创建数据源对象--通过配置文件创建数据源对象[推荐]

    JDBC- C3P0数据源

    1 /*重点提醒*/
    2 连接数据库的较低的jar包版本会与较高版本的mysql版本有冲突;
    3 通过把mysql 8.0的版本降到5.5, jar包仍使用较高的 mysql-connector-java-5.1.7-bin.jar, 完美解决冲突.

    1-通过构造方法创建数据源对象

    package C3P0数据源;
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    import javax.sql.DataSource;
    import java.beans.PropertyVetoException;
    import java.sql.*;
    
    public class Example03_textbook_P291 {
        public static DataSource ds=null;
        //初始化C3P0 数据源 ,设置为静态代码块,可以自动加载
        static {
            ComboPooledDataSource cpds=new ComboPooledDataSource();
            //设置连接数据库需要的配置信息
            try {
                cpds.setDriverClass("com.mysql.jdbc.Driver");
                cpds.setJdbcUrl("jdbc:mysql://localhost:3306/jdbc");
                cpds.setUser("root");
                cpds.setPassword("123456");
                //设置数据库连池的参数
                cpds.setInitialPoolSize(5);
                cpds.setMaxPoolSize(15);
                ds=cpds;
            } catch (PropertyVetoException e) {
                e.printStackTrace();
            }
        }
        public static void main(String[] args) throws SQLException {
            //获取数据库连接对象
            System.out.println(ds.getConnection());
        }
    }
    View Code

    2-通过读取配置文件创建数据源对象

       放置文件到src下:

      c3p0-config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    
    <c3p0-config>
    
      <named-config name="szs">
      
          <property name="user">root</property>
        <property name="password">123456</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/jdbc</property>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
      
        <property name="acquireIncrement">2</property>
        <property name="initialPoolSize">5</property>
        <property name="minPoolSize">5</property>
        <property name="maxPoolSize">10</property>
    
        <property name="maxStatements">20</property> 
        <property name="maxStatementsPerConnection">5</property>
    
      </named-config>
    </c3p0-config>
    View Code

      Example04.java  测试类

    package C3P0数据源;
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    import javax.sql.DataSource;
    import java.sql.SQLException;
    
    public class Example04 {
        public static DataSource ds=null;
        static {
                //使用配置文件中的named-config节点中的name属性
            ComboPooledDataSource cpds=new ComboPooledDataSource("szs");
            ds=cpds;
        }
    
        public static void main(String[] args) throws SQLException {
            System.out.println(ds.getConnection());
            System.out.println();
        }
    }
    View Code

     
  • 相关阅读:
    关于Oracle 数据库使用dba_tables或者all_tables或者user_tables统计数据时,与直接查询表统计时数据不一致的记录
    js格式化时间
    slf4j介绍以及与Log4j、Log4j2、LogBack整合方法
    LogBack日志小记
    log4j2 日志框架小记
    Log4j日志框架小记
    29.求数字组最大子序列之和
    28.找出最的几位数
    27.数组元素重复度过数组长度一半
    26.字符串全排列
  • 原文地址:https://www.cnblogs.com/zhazhaacmer/p/10002866.html
Copyright © 2011-2022 走看看