对于JDBC的简单理解

什么是JDBC?为什么要使用JDBC?

1. JDBC

  • JDBC是Java DataBase Connectivity的缩写,即Java程序访问数据库的标准接口
  • 使用Java程序访问数据库时,通过JDBC接口来访问JDBC驱动来实现对数据库的操作
  • JDBC接口是Java标准库自带的,可以直接编译;JDBC驱动是数据库厂商提供的。因此,访问某个具体的数据库,只需要引入该厂商提供的JDBC驱动,就可以通过JDBC接口来访问

在这里插入图片描述

Java App
JDBC Interface
JDBC Driver
DataBase
  • MySQL还有其他数据库的JDBC驱动就是我们常说的jar包,jar包也是用Java编写的,我们编写的代码只需要引入Java标准库提供的java.sql包下面的相关接口,由此再间接地通过MySQL驱动jar包通过网络访问MySQL服务器,所有复杂地网络通讯都被封装到JDBC驱动中,所以运行Java程序只需要引入有关数据库地jar包就可以正常访问MySQL服务器了

在这里插入图片描述

2. JDBC的好处

  • 各数据库厂商使用相同的接口 ,Java代码不需要针对不同的数据库分别开发
  • Java程序编译依赖于java.sql包,不依赖于具体数据库的jar包
  • 可以随时替换底层数据库,访问数据库的Java代码基本不变
以下总结内容,来自视频

https://www.bilibili.com/video/BV1BJ411L7NR/?p=24

3.JDBC体系结构

JDBC接口包括两个层面:

  • 面向应用的API,供程序员调用
  • 面向数据库的API,供厂商开发数据库的驱动程序

JDBC API
提供者:Java官方
内容:供开发者调用的接口
java.sql和javax.sql

  • DriverManager类
  • Connection接口
  • Statement接口
  • ResultSet接口

DriverManager
提供者:Java官方
作用:管理不同的JDBC驱动

JDBC驱动
提供者:数据库厂商
作用:负责连接不同的数据库

4.JDBC的使用

  1. 加载数据库驱动,Java程序和数据库之间的桥梁
  2. 获取Connection,Java程序与数据库的一次连接
  3. 创建Statement对象,由Connection对象产生,执行SQL语句
  4. 如果需要接收返回值,就需要创建ResultSet对象,保存Statement对象执行SQL语句查询之后的结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BeautifulSoup

BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后遍可以使用他提供的方法进行快速查找指定元素,从而使得在HTML或XML中查找指定元素变得简单。 1. 安装 pip3 install beautifulsoup42.示例 fr…

Leetcode-45. 跳跃游戏Ⅱ

给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 …

研究揭示人类大脑进化的基因组调控机制

来源:中国科学院昆明动物研究所人类大脑起源于漫长的生命进化过程,其最显著的改变是大脑的认知功能,反映在脑容量的显著扩大和脑结构的高度精细化。在人类进化过程中,“哪些遗传改变造就了人类大脑”是学界长期力图解决的科学问题…

计算机组成原理笔记——存储器分类、层次结构、技术指标、存储单元地址分配

计算机组成原理笔记——存储器分类、层次结构、技术指标、存储单元地址分配 一. 概述 存储器的分类 按存储介质划分: (1)半导体存储器 双极型(TTL)、MOS (2)磁表面存储器 磁头、载磁体 (3)磁芯存储器(目前几乎已不被采用)硬磁材料、环状元件 (4)光盘存储器 激光、…

interceptor 拦截器的使用 (session验证)

需要引入 http://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd之前是3.0.xsd mvc:exclude-mapping 报错 需要改成3.2.xsd <mvc:interceptors> <mvc:interceptor> <!-- 需拦截的地址 --> …

Leetcode--229. 求众数Ⅱ

给定一个大小为 n 的数组&#xff0c;找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 说明: 要求算法的时间复杂度为 O(n)&#xff0c;空间复杂度为 O(1)。 示例 1: 输入: [3,2,3] 输出: [3] 示例 2: 输入: [1,1,1,3,3,2,2,2] 输出: [1,2] 思路&#xff1a; 摩尔投票法 超过…

刚刚,《The Scientist》预测了未来最热门的生命科学技术

图片来源&#xff1a;illumina来源&#xff1a;中国生物技术网去年&#xff0c;新冠疫情席卷全球&#xff0c;生物医学研究领域学者奋起应对挑战&#xff0c;并取得了前所未有的科学成就。2021年已来&#xff0c;尽管大流行还在继续&#xff0c;但美国《The Scientist&#xff…

Java Web项目的层次结构及常见分包

Java Web项目的层次结构及常见分包 Web项目中的层次 ControllerServiceDaoController层&#xff1a;表现层&#xff08;视图&#xff09;层。用来显示数据和接收用户数据Service层&#xff1a;业务逻辑层&#xff0c;用来处理页面。先写接口&#xff0c;后写实现类Dao层&#…

BZOJ3489 A simple rmq problem 【可持久化树套树】*

BZOJ3489 A simple rmq problem Description 因为是OJ上的题&#xff0c;就简单点好了。给出一个长度为n的序列&#xff0c;给出M个询问&#xff1a;在[l,r]之间找到一个在这个区间里只出现过一次的数&#xff0c;并且要求找的这个数尽可能大。如果找不到这样的数&#xff0c;则…

Leetcode--319. 灯泡开关

初始时有 n 个灯泡关闭。 第 1 轮&#xff0c;你打开所有的灯泡。 第 2 轮&#xff0c;每两个灯泡你关闭一次。 第 3 轮&#xff0c;每三个灯泡切换一次开关&#xff08;如果关闭则开启&#xff0c;如果开启则关闭&#xff09;。第 i 轮&#xff0c;每 i 个灯泡切换一次开关。 …

Eclipse中tomcat的简单配置

Eclipse中tomcat的简单配置 将Eclipse与tomcat相关联 如果下拉选项中没有jdk1.8.0_131&#xff0c;就点击后面的选项 把服务器视图调出来&#xff0c;方便之后调试 将tomcat服务器调入 如果要添加项目&#xff0c;点击右键&#xff0c;选择Add and Remove… 最后&#xff0…

AI智能体学会动物进化法则:李飞飞等提出深度进化RL

来源&#xff1a;机器之心编辑&#xff1a;杜伟、魔王、陈萍在过去 6 亿年中&#xff0c;进化带来了不同类型的「无尽之形最美」&#xff08;endless forms most beautiful&#xff09;&#xff0c;从古老的两侧对称虫到多种多样的动物形态。这些动物还展示出了显著的具身智能&…

Leetcode--22. 括号生成

给出 n 代表生成括号的对数&#xff0c;请你写出一个函数&#xff0c;使其能够生成所有可能的并且有效的括号组合。 例如&#xff0c;给出 n 3&#xff0c;生成结果为&#xff1a; [ "((()))", "(()())", "(())()", "()(())&quo…

DevExpress v18.1新版亮点——WPF篇(五)

用户界面套包DevExpress v18.1日前终于正式发布&#xff0c;本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExpress WPF v18.1 的新功能&#xff0c;快来下载试用新版本&#xff01;点击下载>> Spreadsheet Control Spreadsheet Shapes 从简单的线条、矩形…

tomcat修改端口号与eclipse中的tomcat保持一致

tomcat修改端口号与eclipse中的tomcat保持一致 将本地tomcat与eclipse中tomcat的配置信息保持一致&#xff1a;即将eclipse中的tomcat设置为托管模式 1. 添加项目 2. 查看server.xml文件中tomcat的端口号 3. 第一次创建tomcat实例后&#xff0c;双击tomcat服务器&#xff0c;选…

(数据科学学习手札45)Scala基础知识

一、简介 由于Spark主要是由Scala编写的&#xff0c;虽然Python和R也各自有对Spark的支撑包&#xff0c;但支持程度远不及Scala&#xff0c;所以要想更好的学习Spark&#xff0c;就必须熟练掌握Scala编程语言&#xff0c;Scala与Java较为相似&#xff0c;且在Scala中可以调用很…

Leetcode--76. 最小覆盖子串

给你一个字符串 S、一个字符串 T&#xff0c;请在字符串 S 里面找出&#xff1a;包含 T 所有字母的最小子串。 示例&#xff1a; 输入: S "ADOBECODEBANC", T "ABC" 输出: "BANC" 说明&#xff1a; 如果 S 中不存这样的子串&#xff0c;则返…

京东《未来科技趋势白皮书》,101页pdf

来源&#xff1a;专知2020年&#xff0c;疫情震荡全球&#xff0c;经济波动剧烈&#xff0c;无论是国家还是企业&#xff0c;都希望通过把握未来科技“脉搏”&#xff0c;驱散经济下行阴影&#xff0c;实现组织升级迭代。逝者如斯&#xff0c;新的十年&#xff0c;哪些关键技术…

JSP中get和post请求方式的区别及乱码解决方法

JSP中get和post请求方式的区别及乱码解决方法 get提交方式&#xff1a;默认method“get” 和 地址栏、超链接请求方式默认都属于get提交方式 form表单的method属性&#xff1a;提交服务器的http方法&#xff0c;一般为post和get get与post请求方式的区别&#xff1a; get方式 …

RISC-V有何特别之处?

作者&#xff1a;Erik Engheim译者&#xff1a;冬雨整理&#xff1a;陈思20 世纪 90 年代末&#xff0c;RISC 和 CISC 爆发了一场大战&#xff0c;自那以后&#xff0c;大家却说 RISC 和 CISC 的区别没那么重要了了。许多人表示&#xff0c;指令集也就那么回事&#xff0c;对 C…