数据源简介
数据源简介
在进行数据访问时,都需要配置数据源。数据源(Data Source),数据的来源,是提供某种所需要数据的器件。在数据源中存储了所有建立数据库连接的信息。如果把数据比作水,数据库就是水库,数据源就是水管。数据源包含连接池和连接池管理两部分。
连接池
如果不使用连接池,每次进行数据库访问都需要向数据库获取连接getConnection(),而数据库创建连接需要耗费较大的资源,创建时间也较长,会影响性能。通过使用连接池,在系统初始化时,将多个连接对象Connection储存在内存中。当用户需要访问数据库时,从连接池中取出一个已经建立好的空闲连接对象。通过管理连接池中的连接 ,实现多个连接对象重复利用,提升性能。
JNDI
JNDI(Java Naming and Directory Interface),是Java平台的一个标准扩展,提供一组接口、类和关于命名空间的概念。简单的说就是按命名规则给一个东西命名,然后就可以通过该名字在特定环境下直接查找到这个东西。
JNDI是用于向Java程序提供目录和命名功能的API。可以简单把JNDI理解为一种对象和名字绑定的技术,对象工厂负责产出对象,这些对象和唯一名字绑定。外部程序可以通过名字来获取某个对象的引用。
Spring中使用数据源
Spring可以通过配置文件进行数据源配置,如果应用配置在高性能的应用服务器(如WebLogic或Websphere等)上,我们可能更希望使用应用服务器本身提供的数据源。应用服务器的数据源使用JNDI开放调用者使用,Spring为此提供了引用JNDI资源的JndiObjectFactoryBean类。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!