有事没事领个红包

dbcp数据库连接池管理

该包主要是管理数据库的链接,获取链接、释放连接、设置最大连接数、初始化连接数、回收的空闲时间

在连接数据库时创建一个连接池可以很方便的管理所有数据库链接,和高效的使用数据库连接。

主要的两个对象是BasicDataSource 和 BasicDataSourceFactory,产生BasicDataSource 和 DataSource两个数据源。

1)BasicDataSource  是在代码中进行配置,代码如下

复制代码
BasicDataSource dataSource = new BasicDataSource();
        dataSource.setUrl("jdbc:mysql://localhost:3306/mydb?useSSL=true");
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUsername("root");
        dataSource.setPassword("123456");
        
        
        dataSource.setInitialSize(5);
        dataSource.setMaxActive(100);
        dataSource.setMaxIdle(300);
        
        try {
            Connection conn = dataSource.getConnection();
            
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
复制代码

 

2)BasicDataSourceFactory 根据配置文件产生 DataSource 对象,代码如下

复制代码
Properties props = new Properties();
        InputStream inStream = this.getClass().getResourceAsStream("/db.properties");
        
        
        try {
            props.load(inStream);
            
            DataSource dataSource = BasicDataSourceFactory.createDataSource(props);
            
            Connection conn = dataSource.getConnection();
            String sql = "select * from user where id=?";
            QueryRunner qr = new QueryRunner();
            User user = qr.query(conn, sql, new BeanHandler<User>(User.class), 2);
            System.out.println(user);
            conn.close();
            
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
复制代码

 

posted @   crazyCodeLove  阅读(286)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示