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");
            }
    
    
        }
    
    }
    
    • 结果

    ^_^

  • 相关阅读:
    redis使用基础(十) ——Redis存储Session
    redis使用基础(十一) ——Redis特殊情况处理机制
    redis使用基础(八) ——Redis命令属性
    redis使用基础(九) ——Redis虚拟内存
    性能
    laradock phpstorm xdebug
    docker笔记
    go注意点
    微服务
    分布式
  • 原文地址:https://www.cnblogs.com/kongieg/p/10069797.html
Copyright © 2011-2022 走看看