Java操作数据库连接池案例讲解

 更新时间:2021年08月02日 08:36:05   作者:一只可爱的小狐狸  
这篇文章主要介绍了Java操作数据库连接池案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

数据库连接池

概念:其实就是一个容器(集合),存放数据库连接的容器。

  1. 概念:其实就是一个容器(集合),存放数据库连接的容器。
    当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。

  2. 好处:

    1. 节约资源
    2. 用户访问高效
  3. 实现:

    1. 标准接口:DataSource javax.sql包下的

      1. 方法:
        • 获取连接:getConnection()
        • 归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了。而是归还连接
    2. 一般我们不去实现它,有数据库厂商来实现

      1. C3P0:数据库连接池技术
      2. Druid:数据库连接池实现技术,由阿里巴巴提供的

Druid:数据库连接池实现技术,由阿里巴巴提供的
1. 步骤:
1. 导入jar包 druid-1.0.9.jar
2. 定义配置文件:
* 是properties形式的
* 可以叫任意名称,可以放在任意目录下
3. 加载配置文件。Properties
4. 获取数据库连接池对象:通过工厂来来获取 DruidDataSourceFactory
5. 获取连接:getConnection

import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

import javax.sql.DataSource;

import com.alibaba.druid.pool.DruidDataSourceFactory;

public class MyJdbc13{
	public static void main(String[] args)throws Exception {
		//Hashtable的子类
		Properties properties = new Properties();
		InputStream inStream = new FileInputStream("src/druid.properties");
		properties.load(inStream);
	
		//数据库连接池
	 DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
		Connection conn = dataSource.getConnection();
		//将该conn对象交还给连接池
		conn.close();
	}

}

到此这篇关于Java操作数据库连接池案例讲解的文章就介绍到这了,更多相关Java操作数据库连接池内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot项目中如何实现MySQL读写分离详解

    SpringBoot项目中如何实现MySQL读写分离详解

    在高并发下需要对应用进行读写分离,配置多数据源,即写操作走主库,读操作则走从库,主从数据库负责各自的读和写,缓解了锁的争用,提高了读取性能,这篇文章主要给大家介绍了关于SpringBoot项目中如何实现MySQL读写分离的相关资料,需要的朋友可以参考下
    2022-07-07
  • Springboot整合mybatisplus时,使用条件构造器排序报错问题及解决

    Springboot整合mybatisplus时,使用条件构造器排序报错问题及解决

    这篇文章主要介绍了Springboot整合mybatisplus时,使用条件构造器排序报错问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Springboot中@RequestParam和@PathVariable的用法与区别详解

    Springboot中@RequestParam和@PathVariable的用法与区别详解

    这篇文章主要介绍了Springboot中@RequestParam和@PathVariable的用法与区别详解,RESTful API设计的最佳实践是使用路径参数来标识一个或多个特定资源,而使用查询参数来对这些资源进行排序/过滤,需要的朋友可以参考下
    2024-01-01
  • 如何解决websocket开启多个页面访问同一个连接会失效的问题

    如何解决websocket开启多个页面访问同一个连接会失效的问题

    使用WebSocket时,若多个页面访问同一个WebSocket连接可能会导致连接失效,遇到这个问题时,可以通过在SpringBoot中使用@ServerEndpoint注解并添加@Component来解决,出现连接错误通常是因为WebSocket连接接收到的是一个GET请求
    2024-09-09
  • Java应用CPU使用率过高排查方式

    Java应用CPU使用率过高排查方式

    这篇文章主要介绍了Java应用CPU使用率过高排查方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • logback TimeBasedRollingPolicy按天生成日志源码解析

    logback TimeBasedRollingPolicy按天生成日志源码解析

    这篇文章主要为大家介绍了logback TimeBasedRollingPolicy按天生成日志源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Springboot中使用Redis实现分布式锁的示例代码

    Springboot中使用Redis实现分布式锁的示例代码

    在分布式系统中,为了保证数据的一致性和任务的互斥执行,分布式锁是一种常见的解决方案,本文主要介绍了Springboot中使用Redis实现分布式锁的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • SpringBoot中异步调用时的注意事项

    SpringBoot中异步调用时的注意事项

    这篇文章主要介绍了SpringBoot中异步调用时的注意事项,调用的异步方法,不能为同一个类的方法(包括同一个类的内部类),简单来说,因为Spring在启动扫描时会为其创建一个代理类,而同类调用时,还是调用本身的代理类的,所以和平常调用是一样的,需要的朋友可以参考下
    2023-11-11
  • Java中FileOutputStream流的write方法

    Java中FileOutputStream流的write方法

    这篇文章主要为大家详细介绍了Java中FileOutputStream流的write方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Java集合List和Map互转的方法总结

    Java集合List和Map互转的方法总结

    有时候我们需要将给定的List转换为Map,或者Map转换为List,本文主要介绍了Java集合List和Map互转的方法总结,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09

最新评论