关于几种常用的数据库连接工具以及数据库连接池的介绍

简介: JDBC(Java Database Connectivity)是一个独立于特定数据库 管理系统、通用的SQL数据库存取和操作的公共接口(一组API) , 定义了用来访问数据库的标准Java类库,( java.sql.javax.sql )使用这些类库可以以一种标准的方法、方便地访问数据库资源。

1.1 JDBC是什么


Java DataBase Connectivity (Java语言来连接数据库)


1.2 JDBC的本质什么


JDBC时SUN公司制定的一套接口(interface) java.sql*;(这个包下有很多的接口)

接口都有调用者和实现者。

面向接口调用、面向接口写实现类,这都属于面向接口的编程。


1.3 为什么要面型接口编程?


解耦合 :降低程序的耦合度,提高程序的扩展力。

多态机制就是非常典型的 :面向抽象编程。(不要面向具体编程)

建议 :

Animal a = new Cat();
Animal b = new Dog();
复制代码

喂养方法 :

public void feed(Animal d){
    // 面向父类编程
        }
复制代码

// 不建议

Dog a = new Dog();
Cat c = new Cat();
复制代码


1.4 为什么SUN公司制定了一套JDBC接口呢

微信截图_20220609232923.png微信截图_20220609232934.png

1.5 JDBC的本质是什么?


一套接口

微信截图_20220609233013.png

JDBC编程六步 (需要背)


  • 第一步 :注册驱动(作用:告诉Java程序,即将要连接哪个数据库)
  • 第二步 :获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的。使用完之后一定要关闭)
  • 第三步 :获取数据库操作对象(专门执行sql语句的对象)
  • 第四步 :执行SQL语句(DQL、DML...)
  • 第五步 :处理查询结果集(只要当第四步执行的是select语句的时候,才有这五步处理查询结果集)
  • 第六步 :释放资源 (使用完资源之后一定要进行关闭资源。Java和数据库属于进程间的通信,开启之后一定要进行关闭)

url: 统一资源定位符(网络中某个资源的绝对路径)

www.baidu.com/这就是一个url

URL包括哪几个部分 :

  • 协议
  • IP
  • PORT
  • 资源名

http://182.61.200.7:80/index.html

http:// 通信协议 182.61.200.7  服务器IP地址 80  服务器上软件的端口 index.html 服务器上某个资源名

连接mysql数据库的url jdbc:mysql://192.168.1.106:3306/bjpowernode

连接oracle数据库的url jdbc:oracle:thin:@localhost:1521:orcl //orcl为数据库的SID jdbc:mysql://  协议 192.168.1.106 本机的IP地址 (127.0.0.1或者localhost) 3306  数据库的端口号 bjpowernode  具体的数据库实例名

说明 : localhost和127.0.0.1都是本机的IP地址

微信截图_20220609233100.png

重点 :使用DQL语句处理查询集的原理

网络异常,图片无法展示
|

微信截图_20220609233124.png注意 :光标刚开始时指向0的位置,没有数据,而next判断的则是数据库的下一行还有没有数据。


数据库连接池(C3P0、Druid)


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

优点:

  • 节约资源
  • 用户访问高效

实现:

标准接口 : DataSorce javax.sql包下

  1. 方法:
  • 获取连接:getConnection()
  • 归还方法: Connection.close()。 如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会关闭连接。而是归还连接。
  1. 一般我们不去实现这个数据库连接池,由数据库厂商进行实现。
  • C3P0:数据库连接池技术
  • Druid:数据库连接技术,由阿里巴巴提供


C3P0连接池


实现步骤:

  • 导入jar包(两个) :c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar。不要导入忘记导入数据库驱动jar包。
  • 定义配置文件:
  • 名称:c3p0.properties 或者 c3p0-config.xml。
  • 路径:直接将文件存储到src目录下。
  • 创建核心对象:数据库连接池对象(CombopooledDataSourc e)
  • 获取连接:getConnection()

微信截图_20220609233237.png



相关文章
|
2月前
|
数据可视化 BI API
无缝对接云数据库:自定义报表生成工具在混合云环境下的部署指南
自定义报表生成工具通过拖拽设计、多数据源整合及自动化输出,帮助业务人员零代码创建个性化报表,解决传统工具灵活性不足、技术门槛高的问题。文章对比其与传统报表差异,列举行业应用场景(如财务、零售),并给出选型建议与主流工具(如FineReport、Power BI、板栗看板)的优劣势分析。
110 0
|
12天前
|
人工智能 数据库 iOS开发
DBeaver Ultimate Edtion 25.2 发布 - 通用数据库工具
DBeaver Ultimate Edtion 25.2 Multilingual (macOS, Linux, Windows) - 通用数据库工具
131 0
|
2月前
|
SQL 存储 数据库
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
516 0
|
6月前
|
自然语言处理 数据库 iOS开发
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
446 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
8月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
6月前
|
SQL 分布式计算 数据库
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
|
6月前
|
SQL 关系型数据库 网络安全
Navicat Premium 17 最新版下载与配置:5分钟完成企业级数据库工具部署
Navicat Premium 17 是一款支持多种主流数据库(如 MySQL、Oracle、PostgreSQL 等)的多数据库管理工具,提供可视化数据建模、SQL 编辑和数据同步等功能。试用版提供 14 天全功能体验,商业版支持跨平台使用。安装环境要求 Windows 10/11 或 macOS 12.0+,最低配置为 4GB 内存。下载并解压安装包后,按步骤启动安装程序、接受许可协议、自定义安装路径并完成安装。首次运行时需激活许可证并配置数据库连接。常见问题包括无法写入注册表、试用期续费及连接数据库权限问题。高级功能涵盖 SSH 通道加速、自动化任务调度和性能调优建议。
1768 19
|
5月前
|
SQL Oracle 数据库
这款免费数据库工具,可能是YashanDB图形化管理的最佳选择
DBeaver for YashanDB 是一款专为国产自研数据库 YashanDB 定制的图形化管理工具,基于全球流行的开源数据库工具 DBeaver 二次开发而成。它深度适配 YashanDB 的各种架构,支持 HEAP/LSC 多形态表管理和 Oracle 生态兼容,提供高效的对象管理、智能 SQL 开发和工业级 PL/SQL 调试功能。通过可视化操作,开发者可轻松完成物化视图配置、存储过程管理等复杂任务,大幅提升效率。该工具完全免费,支持多平台,为企业级数据库管理提供了成熟解决方案。
|
7月前
|
关系型数据库 数据库连接 数据库
循序渐进丨MogDB 中 gs_dump 数据库导出工具源码概览
通过这种循序渐进的方式,您可以深入理解 `gs_dump` 的实现,并根据需要进行定制和优化。这不仅有助于提升数据库管理的效率,还能为数据迁移和备份提供可靠的保障。
210 6
|
6月前
|
SQL 分布式计算 数据库
【YashanDB知识库】Hive 命令工具insert崖山数据库报错
【YashanDB知识库】Hive 命令工具insert崖山数据库报错