连接池简单介绍

2019-08-09 00:00:00 连接池 简单 介绍

1.为什么要使用连接池

  最主要还是提高数据库查询效率

  《连接池简单介绍》

2.连接池思想(原理)

  Java程序不再直接建立数据库连接,而是从连接池获取数据库连接,用完“放”回连接池,给其他程序使用,这样就不用反复创建、销毁连接,从而提高效率

  《连接池简单介绍》

3.连接池的概述

在Java中,连接池使用javax.sql.DataSource接口来表示连接池。
注意:DataSource仅仅只是一个接口,由各大服务器厂商来实现(Tomcat.JBoss)。
常用的DataSource的实现:
  DBCP: Spring推荐的
  C3P0: Hibernate推荐的
  Druid : (德鲁伊)阿里巴巴开源的,性能最好,速度最快
DataSource(数据源)和连接池(Connection Pool)是同一个

 

4.Druid连接池的使用

@Test
    public void testName() throws Exception {
        //1.创建Druid连接池对象
        DruidDataSource ds = new com.alibaba.druid.pool.DruidDataSource();
        //1.1设置驱动
        ds.setDriverClassName("com.mysql.jdbc.Driver");
        //1.2设置url
        ds.setUrl("jdbc:mysql://localhost:3306/mybatis");
        //1.3设置账号
        ds.setUsername("root");
        //1.4设置密码
        ds.setPassword("1234");
        //1.5设置最大连接数
        ds.setMaxActive(10);
        
        //2.通过连接池对象获取数据库连接对象
        Connection conn = ds.getConnection();
        System.out.println(conn);
    }

  通过读取properties文件

    @Test
    public void test2() throws Exception {
        
        //1.类加载器,主要从当前项目的classpath(类路径相对路径)下面读取资源形成输入流
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        InputStream inputStream = classLoader.getResourceAsStream("db.properties");
        //2.创建Properties 配置对象
        Properties p = new Properties();
        //2.1读取输入流
        p.load(inputStream);
        //3.使用工厂类创建Druid连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(p);
        //4.获取连接对象
        Connection conn = dataSource.getConnection();
        System.out.println(conn);
    }
    
}

 

相关文章