当前位置: 首页 > news >正文

JDBC基础关键_001_认识

目  录

一、概述

二、原理

三、接口的作用

四、JDBC 模拟

1.JDBC 接口

2.驱动

3.配置文件

4.调用者


一、概述

  1. JDBC(Java DataBase Connectivity),Java 数据库连接;
  2. 是用 Java 语言操作数据库,使用 Java 语言向数据库发送 SQL 语句;
  3. JDBC 是一套连接数据库的 API,即类库。API 通常包括:API 字节码、API 源码、API 帮助文档。

二、原理

        SUN 公司提供一套访问数据库的规范,即一组接口,同时提供连接数据库的协议标准。各数据库厂商遵循该规范,提供一套访问自己数据库服务器的 API。SUN 公司将该规范命名为 JDBC,各厂商提供的 API 称为驱动。

        JDBC 是接口,JDBC 驱动是接口的实现。没有驱动则无法连接数据库。


三、接口的作用

  1. 定义标准:规范应该如何完成某个任务或应该具有哪些属性、方法等;
  2. 隐藏实现:接口隔离了类的实现和外界的逻辑使用,使得外部无论是访问接口的常量或接口的方法都不需要关心接口的实现;
  3. 实现多态:一个类实现多个接口,在实现接口的过程中,类便会具有接口中的所有方法;
  4. 增加扩展性和灵活性:接口定义了一个共同的标准,使得新的类可以很容易地加入到已有的系统中,而且不需要修改现有的代码。

四、JDBC 模拟

        此处利用了反射,可以回顾【Java基础关键_031_反射(一)】。

1.JDBC 接口

public interface JDBC {void connect();
}

2.驱动

public class MySQLDriver implements JDBC{@Overridepublic void connect() {System.out.println("连接MySQL数据库成功!");}
}
public class OracleDriver implements JDBC{@Overridepublic void connect() {System.out.println("连接Oracle数据库成功!");}
}

3.配置文件

# jdbc.properties
driver=jdbc.MySQLDriver

4.调用者

public class Client {public static void main(String[] args) throws Exception {String driverClassName = ResourceBundle.getBundle("jdbc\\jdbc").getString("driver");Class<?> aClass = Class.forName(driverClassName);System.out.println(aClass);JDBC jdbc = (JDBC) aClass.newInstance();jdbc.connect();}
}

http://www.xdnf.cn/news/942679.html

相关文章:

  • Spring类型转换器相关接口和实现原理
  • 【JavaScript】利用`localStorage`实现多窗口数据交互同步【附完整源码】
  • OD 算法题 B卷【删除字符串中出现次数最少的字符】
  • 如何禁用windows server系统自动更新并防止自动重启
  • 推理式奖励模型:使用自然语言反馈改进强化学习效果
  • 卫星接收天线G/T值怎么计算?附G/T计算excel表格链接
  • 打卡day48
  • 12.7Swing控件5 JProgressBar
  • Spring AI中使用ChatMemory实现会话记忆功能
  • 算法打卡第18天
  • 【CUDA 】第5章 共享内存和常量内存——5.3减少全局内存访问(2)
  • Linux 环境配置
  • 【立体匹配】:双目立体匹配SGBM:(1)运行
  • 深入解析JavaScript构造函数与原型链
  • JavaScript 自定义对象详解
  • AI医生时代来临!o1模型在医疗诊断中超越人类医生
  • 查看进程线程的方法
  • 进制符号表示
  • 【阿里巴巴 x 浙江大学】信息与交互设计 - 信息设计漫谈
  • AIGC 基础篇 Python基础 02
  • MS8312A 车规 精密、低噪、CMOS、轨到轨输入输出运算放大器,用于传感器、条形扫描器
  • arxir网址自动转向国内镜像
  • 【DTOF传感器】光子飞行时间传感技术
  • 通信之光端机
  • 苏超 - 江苏省城市足球联赛
  • Angular中Webpack与ngx-build-plus 浅学
  • 【刷题模板】链表、堆栈
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月8日第102弹
  • 06. C#入门系列【自定义类型】:从青铜到王者的进阶之路
  • 星耀8上市品鉴暨北京中和吉晟吉利银河用户中心开业媒体见面会