JDBC 学习笔记(一)—— JDBC 基础

1. 什么是 JDBC

JDBC,Java Database Connectivity(Java 数据库连接),是一组执行 SQL 语句的 Java API。

JDBC,是 Java SE(Java Platform, Standard Edition)标准的一部分。

Java 程序可以通过 JDBC 连接到关系型数据库,并且使用 SQL(Structured Query Language,结构化查询语言)完成对数据库的操作。

我们开发时常用的 ORM 框架(Object Relational Mapping),例如 Hibernate,MyBatis,其本质就是对 JDBC 的一种封装。

 

 

2. JDBC 驱动和面向接口编程

Java API,就是接口(interface),所以说 JDBC 只给出了接口,没有提供实现类。

由各个数据库的厂商提供 JDBC 的实现,这些实现类就是我们口中常说的:驱动程序。

 

JDBC 的编程工作,是需要面向标准的 JDBC API,不需要关心使用的数据库到底是什么。

使用 Oracle,DB2,还是 MyBatis 对于 JDBC 的编程都没有影响,这就是面向接口编程。

理论上说,如果需要切换数据库,只需要换一个驱动程序就可以了,所以说,JDBC 具有跨数据库的特性。

 

当然实际操作上没有这么简单,因为 JDBC 跨数据库的特性是基于全部使用标准的 SQL 语句,而某些数据库会有一些只有自己才能用的特殊 SQL 语法。

例如,Oracle 的 rowid、rownum,MySQL 的 limit。

 

3. JDBC 组成和功能

JDBC的总体结构有四个组件:应用程序、驱动程序管理器、驱动程序和数据源。 

 

JDBC 主要有以下三个功能:

  • 建立程序与数据库的连接。
  • 执行 SQL 语句。
  • 获得 SQL 语句的执行结果。

 

4. JDBC 和 ODBC

ODBC,Open Database Connectivity(开放数据库连接),也是一组通过 API 访问数据库的技术。

ODBC 先于 JDBC 的出现,JDBC 模仿了 ODBC 的设计。

与 JDBC 相同,ODBC 需要数据库厂商提供驱动,支持数据库之间的切换,而 ODBC 负责管理数据库驱动。

 

相比于 ODBC,JDBC 有以下优势:

  • JDBC 对于数据库的操作更加简单、直观。
  • JDBC 具有更高的安全性。

 

转载于:https://www.cnblogs.com/jing-an-feng-shao/p/9201801.html

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

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

相关文章

JavaScript享元模式

JavaScript享元模式 通过两个例子的对比来凸显享元模式的特点:享元模式是一个为了提高性能(空间复杂度)的设计模式,享元模式可以避免大量非常相似类的开销。 第一实例,没有使用享元模式,计算所花费的时间和空间使用程度。 要求为&…

mac屏幕截图_如何在Mac上拍摄屏幕截图

mac屏幕截图On a Mac, you can take screenshots with a few quick keyboard shortcuts. But Mac OS X also includes more powerful screenshot tools, too. Here are some of the many ways you can get a screenshot on OS X. 在Mac上,您可以使用一些快速的键盘快…

新手AS常见问题集锦

开发环境 以前开发android的时候可以使用eclipse,虽然现在也能使用eclipse,但是google已经不再支持使用eclipse开发android了。因为google有了自己的IDE---android studio,这个IDE我自己认为安装的时候比较方便,唯一的缺点就是在下…

也许你曾经读过他的书

我们愿用“能理能文、才华多元”来形容他。因为热爱编程和游戏,所以他将爱好变成了职业,并在这条路上持续奔跑;因为热爱分享,所以他坚持在博客上分享技术观点并出版了关于 Azure、微软游戏栈的书籍;因为热爱挑战&#…

t30智能插座怎么设置_如何设置ConnectSense智能插座

t30智能插座怎么设置If you like the idea of smart outlets, but wish you had one with more than just one receptacle on it, the ConnectSense Smart Outlet is worth looking into. Here’s how to set it up and instantly get double the fun. 如果您喜欢智能插座的想法…

用链表和数组实现HASH表,几种碰撞冲突解决方法

Hash算法中要解决一个碰撞冲突的办法,后文中描述了几种解决方法。下面代码中用的是链式地址法,就是用链表和数组实现HASH表。 he/*hash table max size*/ #define HASH_TABLE_MAX_SIZE 40/*hash table大小*/ int hash_table_size0;/*.BH----------------…

如何在Chrome中保存您当前的所有标签,以便以后阅读

Chrome allows you to open tabs from your last browsing session when you open the browser. However, what if you want to save your current set of tabs to re-open at any time? Chrome doesn’t provide a way to do that natively, but there is an easy workaround…

ubuntu 16.04(Windows 10双系统+grub引导)无法进入tt1~tt6(NVIDIA驱动安装相关-黑屏,login loop,分辨率)...

目录 前言回顾最终解决:0.关闭x服务1.禁用nouveau2.加入3.更新4.查找匹配驱动5.选择推荐版本6.等待安装后重启,nvidia-smi查看是否安装成功,或者lsmod | grep nvidia,成功结果如下7.重启x服务8.此时还不能进入图形界面,因为nomodeset还在&…

(备忘)打开office2010总是在配置进度

1、同时按上键盘上面的windows键和R键,出现“运行” 2、输入“regedit”,回车进入注册表 3、点击“HKEY_CURRENT_USER”展开,依次“Software”--“Microsoft”--“Office”--"14.0"--"Word"展开,点击"Op…

android 更改软键盘_如何在Android的Google键盘上更改声音和振动

android 更改软键盘Tactile feedback from a touch screen keyboard is crucial, in my opinion, but I don’t like sounds when I tap keys. You may not be like me—maybe sounds are your thing, but vibration is annoying. Or maybe you dislike both (you rebel!). The…

知识点:Mysql 索引原理完全手册(1)

知识点:Mysql 索引原理完全手册(1) 知识点:Mysql 索引原理完全手册(2) 知识点:Mysql 索引优化实战(3) 知识点:Mysql 数据库索引优化实战(4) Mysql-索引原理完全手册 一、 介绍二、 索引的原理三、 索引的数据结构四、 聚集索引与辅…

如何将Apple Mail建议用于事件和联系人

Apple products come preinstalled with an email client that can, on occasion, be quite smart. Today we want to show you another great feature: suggestions for event and contacts. Apple产品预装了一个电子邮件客户端,该客户端有时可能非常聪明。 今天&a…

xbox one 越狱_如何在Xbox One上播放视频和音乐文件

xbox one 越狱The Xbox One has integrated TV features and support for streaming media apps like Netflix and Hulu, but that isn’t where it ends. You can play video and music files you’ve ripped or downloaded by plugging in a USB drive or streaming them ove…

C++实验七

11——3 #include<fstream>using namespace std;int main(){ ofstream file; file.open("test1.txt",ios_base::binary); file<<"已成功添加字符&#xff01;"; file.close(); return 0; } 11-4 #include<fstream>#include<iostrea…

重新学习web后端开发-001-写在前面的话

"长风破浪会有时 直挂云帆济沧海" —— 李白<!-- more --> 1. 为什么会写这个系列 随着互联网技术飞速的非常&#xff0c;web开发一直都是互联网技术的重要部分之一。在作者十余年的工作中&#xff0c;经历了从程序员到高级工程师&#xff0c;然后开始负责项目…

WPF-20 ICommand命令绑定

这节我们介绍一下WPF中比较重要的接口ICommand&#xff0c;也是WPF中一个新的特性&#xff0c;做过WinForm朋友都知道&#xff0c;WinForm开发是基于事件驱动开发模式&#xff0c;比如一个Button有Click事件&#xff0c;当我点击该按钮时&#xff0c;在当前页面会执行具体的业务…

如何在Safari中查看网页的完整URL

Modern versions of Safari don’t show the entire URL of a page in the address bar—it just shows the web site’s domain name. If this bothers you, it’s easy to change. Safari的现代版本无法在地址栏中显示页面的整个URL&#xff0c;而仅显示网站的域名。 如果这困…

Mqttnet内存与性能改进录

1 MQTTnet介绍MQTTnet是一个高性能的 .NET MQTT库&#xff0c;它提供MQTT客户端和MQTT服务器的功能&#xff0c;支持到最新MQTT5协议版本&#xff0c;支持.Net Framework4.5.2版本或以上。MQTTnet is a high performance .NET library for MQTT based communication. It provid…

DataArtisans战略联手阿里云 Apache Flink服务能力云化

近日&#xff0c;Apache Flink商业公司 CEO、联合创始人Kostas Tzoumas在云栖大会上宣布和阿里集团达成战略合作伙伴关系&#xff0c;希望能够借助全球最大的云计算公司之一阿里云&#xff0c;服务更多的大数据实时流计算的客户。同时期待通过加强和阿里集团技术合作&#xff0…

高清、免版权美图资源大全

正所谓“一图胜千言”&#xff0c;当在写文章、做设计、搞 PPT、发朋友圈&#xff0c;搭配一些合适的图&#xff0c;这无疑将极大提升内容的表现力。鉴于此&#xff0c;在倾城之链的美图板块&#xff0c;收录了来自世界各地的优质图片网站&#xff0c;它们所提供高品质且免费的…