数据库连接池

  • 概述:我们访问数据库要频繁的建立连接和关闭连接,会是系统资源的浪费,这时候可是使用一个Connection的连接池来管理这些连接,我们需要建立连接的时候通过连接池索要连接,不用到的连接由连接池回收,并不是真正的关闭,而是实现了动态管理。
  • 常用连接池:DBCP(tomcat内置),PO3
  • 规范:Java为数据库连接池提供了公共的接口:javax.sql.DataSource,各个厂商需要让自己的连接池实现这个接口。这样应用程序可以方便的切换不同厂商的连接池

创建工具类

public class DBCPDemo {
    
    //创建连接池
    public static final String DRIVER = "com.mysql.jdbc.Driver";
    public static final String URL = "jdbc:mysql://localhost:3306/mybase";
    public static final String USERNAME = "root";
    public static final String PASSWORD = "123456";

    public static BasicDataSource dataSource=new BasicDataSource();
    
    static{
        //对连接池对象 进行基本的配置
            dataSource.setDriverClassName(DRIVER); // 这是要连接的数据库的驱动
            dataSource.setUrl(URL); //指定要连接的数据库地址
            dataSource.setUsername(USERNAME); //指定要连接数据的用户名
            dataSource.setPassword(PASSWORD); //指定要连接数据的密码
    }
    

    public static DataSource getDataSource(){
        //通过该函数获取连接池对象
        return dataSource;
    }

}

测试代码

public class test {

    public static void main(String[] args) {
        query();
    }
    private static QueryRunner qr=new QueryRunner(DBCPDemo.getDataSource());
    public static void query(){
        String sql="select * from sort";
        try{
        List<Object []> result=qr.query(sql, new ArrayListHandler());
        for(Object[] obj:result){
            for(Object o:obj){
                System.out.print(o);
            }
            System.out.println();
        }
        }catch(SQLException ex){
            ex.printStackTrace();
        }
    }

}

结果:

 

posted @ 2019-04-24 14:34  findlisa  阅读(156)  评论(0编辑  收藏  举报