zoukankan      html  css  js  c++  java
  • java学习笔记—第三方数据库连接池包1(29)

    第一步:导入dbcp包

    第二步:通过核心类连接数据

           BasicDataSource它是javax.sql.DataSrouce的子类。

           一个工具类:BasicDataSourceFactory。


    手工通过代码连接数据库:

        BasicDataSource ds = new BasicDataSource();
    
           //设置driver
    
           ds.setDriverClassName("com.mysql.jdbc.Driver");
    
           //设置url
    
           ds.setUrl("jdbc:mysql:///db909?characterEncoding=UTf8");
    
           ds.setPassword("1234");
    
           ds.setUsername("root");
    
           ds.setMaxActive(5) ;//设置最多有几个连接
    
           ds.setInitialSize(2);//设置在开始时创建几个连接
      手工连接,不建议这么做。

    第三步:创建一个资源文件

    在dbcp中一个类专门用于读取资源文件的:

           BasicDataSourceFactory

    #以下所有属性,都来自于BaiscDataSource的setXxxx
    //增加一个配置文件jdbc.properties driverClassName
    =com.mysql.jdbc.Driver url=jdbc:mysql:///db909 username=root password=1234 maxActive=3 Properties p = new Properties(); p.load(DbcpPool.class.getResourceAsStream("jdbc.properties")); DataSource ds = new BasicDataSourceFactory().createDataSource(p) ;

    第四步、使用连接池

    在一个项目中,就只能拥有一个DataSource的实例。在这个dataqSource3中有多个Connectioin。

    声明一个工厂类,创建维护唯一的一个DataSource

    package cn.itcast.utils;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.Properties;
    import javax.sql.DataSource;
    import org.apache.commons.dbcp.BasicDataSourceFactory;
    public class DataSourceUtils {
        private DataSourceUtils(){}
        private static DataSource ds; 
        static{
            try{
                Properties p = 
                        new Properties();
                p.load(DataSourceUtils
    .class.getClassLoader() 
    .getResourceAsStream("jdbc.properties"));
                ds = 
                        new BasicDataSourceFactory().createDataSource(p); 
            }catch(Exception e){}
        }
        //返回一个唯一的连接
        public static Connection getCon(){ 
            Connection con = null;
            try {
                con = ds.getConnection();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return con;
        }
        //提供一个方法返回DataSource
        public static DataSource getDs(){ 
            return ds;
        }
    }
  • 相关阅读:
    jQuery 之用on()代替bind()
    jQuery之delegate(已废弃)
    jQuery 之只运行一次的处理函数(one)
    jQuery 之移除事件(off)
    jQuery动态添加事件(on)可用于未来元素
    jQuery 之动态添加事件(on)
    IDEA环境配置——把类封装为jar工具包以供他人调用
    IDEA导出可执行的jar包
    springboot+async异步接口实现和调用
    阿里巴巴Java开发规约扫描插件-Alibaba Java Coding Guidelines 在idea上安装使用教程
  • 原文地址:https://www.cnblogs.com/zhenghongxin/p/4403354.html
Copyright © 2011-2022 走看看