美文网首页
使用数据库连接池连接数据库

使用数据库连接池连接数据库

作者: 醛烷基八氮 | 来源:发表于2020-09-01 21:43 被阅读0次

      java中连接到数据库可以通过JDBC连接,也可以通过数据库连接池连接数据库,连接池主要在在程序启动的时候建立多个连接,当程序使用的时候就从池中获取连接,当程序把数据库连接使用结束之后,将连接归还给池。
    常见连接池

    dbcp , apache的官方实现,早期项目中大多数项目使用的连接池 http://commons.apache.org/proper/commons-dbcp/

    Druid , alibaba的实现, 效率上比dbcp要好一些 https://github.com/alibaba/druid

    以Druid连接池为例

    使用数据库连接池连接数据库时需要先写配置文件
    1. 在路径中创建database.properties文件 内容

    maxActive 最大活跃数

    initialSize 初始连接数

    minIdle 最小空闲数

    druid.url=jdbc:mysql://127.0.0.1:3306/talk_sys?serverTimezone=Asia/Shanghai
    druid.username=root
    druid.password=root
    druid.maxActive=20
    druid.initialSize=1
    druid.minIdle=1
    

    2.java中代码实现

        /**
         * 配置文件路径
         */
        private static final String CONFIG_FILE_PATH = "/datasource.properties";
        
        /**
         * 设置一个全局数据源对象
         */
        private static DruidDataSource dataSource;
        
        /**
         * 加载配置,为了同一时刻只有一个方法调用
         */
        private synchronized static void loadConfig() {
            // 配置文件输入流
            InputStream configStream = DbHelper.class.getResourceAsStream(CONFIG_FILE_PATH);
            if(null!=configStream) {
                Properties config = new Properties();
                try {
                    config.load(configStream);
                } catch (IOException e) {
                    e.printStackTrace();
                }
                dataSource = new DruidDataSource();
                dataSource.setConnectProperties(config);
            }
        }
        
        /** 连接获取方法
         * @return
         */
        public static Connection getConn() {
            if(null==dataSource) {
                loadConfig();
            }
            try {
                  return dataSource.getConnection();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return null;
        }
    

    完成如上操作后即可哦通过getConn()方法来获得数据库连接。

    相关文章

      网友评论

          本文标题:使用数据库连接池连接数据库

          本文链接:https://www.haomeiwen.com/subject/qljbsktx.html