zoukankan      html  css  js  c++  java
  • C3p0实践

    jar包

    1. c3p0-0.9.2.1.jar
    2. mchange-commons-java-0.2.3.4.jar
    3. mysql-connector-java-5.1.28-bin.jar

    建立数据库

    CREATE TABLE `employee` (
      `EMPLOYEEID` bigint(20) NOT NULL AUTO_INCREMENT,
      `EMPLOYEENAME` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`EMPLOYEEID`)
    );

    数据源:

    package com.dataSource.c3p0;

    import java.beans.PropertyVetoException;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.SQLException;

    import com.mchange.v2.c3p0.ComboPooledDataSource;

    public class DataSource {

        private static DataSource     datasource;
        private ComboPooledDataSource cpds;

        private DataSource() throws IOException, SQLException, PropertyVetoException {
            cpds = new ComboPooledDataSource();
            cpds.setDriverClass("com.mysql.jdbc.Driver")//loads the jdbc driver
            cpds.setJdbcUrl("jdbc:mysql://localhost/test");
            cpds.setUser("root");
            cpds.setPassword("root");

            // the settings below are optional -- c3p0 can work with defaults
            cpds.setMinPoolSize(5);
            cpds.setAcquireIncrement(5);
            cpds.setMaxPoolSize(20);
            cpds.setMaxStatements(180);

        }

        public static DataSource getInstance() throws IOException, SQLException, PropertyVetoException {
            if (datasource == null) {
                datasource = new DataSource();
                return datasource;
            else {
                return datasource;
            }
        }

        public Connection getConnection() throws SQLException {
            return this.cpds.getConnection();
        }

    }

    测试主程序

    package com.dataSource.c3p0;

    import java.beans.PropertyVetoException;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    public class C3P0DataSourceExample {

        public static void main(String[] argsthrows PropertyVetoException, SQLException, IOException {
            Connection connection = null;
            Statement statement = null;
            ResultSet resultSet = null;
            try {
                connection = DataSource.getInstance().getConnection();
                statement = connection.createStatement();
                resultSet = statement.executeQuery("select * from employee");
                  while (resultSet.next()) {
                      System.out.println("employeeid: " + resultSet.getString("employeeid"));
                      System.out.println("employeename: " + resultSet.getString("employeename"));
                  }
            } catch (SQLException e) {
                e.printStackTrace();
            finally {
                if (resultSet != nulltry resultSet.close()catch (SQLException e) {e.printStackTrace();}
                if (statement != nulltry statement.close()catch (SQLException e) {e.printStackTrace();}
                if (connection != nulltry connection.close()catch (SQLException e) {e.printStackTrace();}
            }
        }
    }

    输出:

    employeeid: 25
    employeename: rock
    employeeid: 29
    employeename: mary

  • 相关阅读:
    【LCA倍增】POJ1330-Nearest Common Ancestors
    【AC自动机/fail树】BZOJ3172- [Tjoi2013]单词
    【费用流】BZOJ1221-[HNOI2001] 软件开发
    【KM】POJ2195/HDU1533-Going home
    【KM算法】HDU2255-奔小康赚大钱
    【匈牙利算法】BZOJ1059-[ZJOI2007]矩阵游戏
    【KMP】BZOJ3670-[Noi2014]动物园
    【Treap】BZOJ1588-[HNOI2002]营业额统计
    【Treap模板详细注释】BZOJ3224-普通平衡树
    【tarjan求割顶】BZOJ2730-[HNOI2012]矿场搭建
  • 原文地址:https://www.cnblogs.com/daxiong225/p/4688909.html
Copyright © 2011-2022 走看看