zoukankan      html  css  js  c++  java
  • DBUtils之连接池

    为减小系统对数据库的获取连接和关闭连接的开销,连接池便是一个不错的选择

    • 将DataSource封装成一个工具类,使用时调用即可
    package com.kong.JDBCUtils;
    
    import org.apache.commons.dbcp.BasicDataSource;
    
    import javax.sql.DataSource;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    
    /**
     * 使用了properties+连接池;
     * 推荐使用此类获取dataSource方法
     */
    public class JDBCUtils {
        private static BasicDataSource basicDataSource = new BasicDataSource();
        private static String driverName;
        private static String url;
        private static String username;
        private static String password;
        static{
            InputStream inputStream = JDBCUtils.class.getClassLoader().getResourceAsStream("database.properties");
            Properties properties = new Properties();
            try {
                properties.load(inputStream);
            } catch (IOException e) {
                throw new RuntimeException(e+"读取配置文件失败");
            }
            driverName = properties.getProperty("driver");
            url = properties.getProperty("url");
            username = properties.getProperty("name");
            password = properties.getProperty("password");
            //设置DataSource基本信息
            basicDataSource.setDriverClassName(driverName);
            basicDataSource.setUrl(url);
            basicDataSource.setUsername(username);
            basicDataSource.setPassword(password);
            //设置DataSource其他连接信息
            basicDataSource.setInitialSize(10);//初始化的连接数
            basicDataSource.setMaxActive(8);//最大的连接数
            basicDataSource.setMaxIdle(5);//最大空闲数
            basicDataSource.setMinIdle(1);//最小空闲数
        }
    
        public static DataSource getbasicDataSource(){
            return basicDataSource;
        }
    }
    
    • 调用
    public class DBUtilsLinkDemo {
        public static void main(String[] args) throws IOException {
    
            try {
                Connection connection = JDBCUtils.getbasicDataSource().getConnection();
                System.out.println(connection);
            } catch (SQLException e) {
                throw new RuntimeException(e+"database connect fail");
            }
    
    
        }
    
    }
    
    • 结果

    ^_^

  • 相关阅读:
    设计模式怎样解决设计问题
    抽象、多样性与可变性
    框架最符合开闭原则
    PHP开发api接口安全验证
    HTTP API接口安全设计
    MySQL——修改root密码的4种方法(以windows为例)
    关于nginx中不用.htaccess 用在ningx.conf中配置的问题
    API接口安全性设计
    Linux上vi(vim)编辑器使用教程
    LNMP下FTP服务器的安装和使用(Pureftpd和Proftpd)
  • 原文地址:https://www.cnblogs.com/kongieg/p/10069797.html
Copyright © 2011-2022 走看看