zoukankan      html  css  js  c++  java
  • JDBC连接池(三)DBCP连接池

    JDBC连接池(三)DBCP连接池

    在前面的随笔中提到 了  1.JDBC自定义连接池  2. C3P0连接池   

    今天将介绍DBCP连接池

    第一步要导入jar包   (注意:mysql和mysql 驱动的版本问题  ,驱动过低会造成下图异常)

     

    创建db.properties 配置文件

    DBCPUtils.java 文件

     1 package com.study.jdbc.Utils;
     2 
     3 import java.io.InputStream;
     4 import java.sql.Connection;
     5 import java.sql.SQLException;
     6 import java.util.Properties;
     7 
     8 import javax.sql.DataSource;
     9 
    10 import org.apache.commons.dbcp.BasicDataSourceFactory;
    11 
    12 public class DBCPUtils {
    13 
    14     private static DataSource dataSource;
    15     static{
    16         
    17         try {
    18             InputStream is=DBCPUtils.class.getClassLoader().getResourceAsStream("db.properties");
    19             Properties props=new Properties();
    20             props.load(is);
    21             //创建数据源
    22             System.out.println(props.getProperty("driver"));
    23             dataSource=BasicDataSourceFactory.createDataSource(props);
    24             System.out.println(dataSource);
    25         } catch (Exception e) {
    26             throw new RuntimeException(e);
    27         }
    28         
    29     }
    30     public static DataSource getDataSource(){
    31         return dataSource;
    32     }
    33     public static Connection getConnection(){
    34         
    35         try {
    36             return dataSource.getConnection();
    37         } catch (SQLException e) {
    38             throw new RuntimeException(e);
    39         }
    40     }
    41 }

    TestDBCP.java

    package cn.itheima.jdbc.test;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    import org.junit.Test;
    
    import cn.itheima.jdbc.utils.DBCPUtils;
    
    public class TestDBCP {
    
        @Test
        public void test1(){
            Connection conn=null;
            PreparedStatement pstm=null;
            ResultSet rs=null;
            try {
                conn=DBCPUtils.getConnection();
                String sql="select * from user";
                pstm=conn.prepareStatement(sql);
                rs=pstm.executeQuery();
                while(rs.next()){
                    System.out.print(" userId ="+rs.getObject("userId")+"   ");
                    System.out.println(" userName ="+rs.getObject("userName"));
                    
                }
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
            
        }
        
        public static void main(String[] args) {
            Connection conn=null;
            PreparedStatement pstm=null;
            ResultSet rs=null;
            try {
                conn=DBCPUtils.getConnection();
                String sql="select * from user";
                pstm=conn.prepareStatement(sql);
                rs=pstm.executeQuery();
                while(rs.next()){
                    System.out.print(" userId ="+rs.getObject("userId")+"   ");
                    System.out.println(" userName ="+rs.getObject("userName"));
    
                }
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
            
        }
    }
  • 相关阅读:
    Gradle with Kotlin (二) 项目、Java项目、父子、同级共享代码
    Gradle with Kotlin (一) 安装、DSL、任务、插件
    辛弃疾
    Remote Method Invoke
    Webpack (一) 选项和配置
    《芙蓉女兒誄》
    js 原型链之我见
    js 库
    Gradle
    Spring Boot 入门
  • 原文地址:https://www.cnblogs.com/shaoxiaohuan/p/7763390.html
Copyright © 2011-2022 走看看