Java的数据库编程之背景概述
(一)首先简单介绍下Java数据库编程的发展史:
1996年,SUN公司发布了第1版的Java数据库连接(JDBC)API,使编程人员可以通过这个API连接到数据库,并使用SQL完成对数据库的各种操作(CURD),自此JDBC成为Java类库中最常使用的API之一;’
1998年,作为JavaSE 1.2的一部分,又发布了JDBC的第二版。后来发布的JDBC 3已经囊括到了JavaSE 1.4和5.0中,目前为止最新版的5.1已经囊括到了JavaSE 8 中;
最后说点题外话,目前熟知的JDBC大部分人认可为时Java Database Connectivity首字母缩写,实际上根据Oracle的声明,JDBC是一个注册了商标的术语,用它命名体现了对ODBC的致敬;
(二)JDBC的设计:
首先说点小故事,从一开始Java技术开发人员就意识到了Java在数据库应用方面的巨大潜力,想着通过扩展Java的标准类库,人们就可以使用“纯”Java语言与任何数据库进行通讯,但是这显然是一个无法完成的任务:业界存在许多不同的数据库且每种数据库所使用的协议、底层机制也各不相同;所以针对于此,所有的数据库供应商和工具开发商都认为,如果Java能够为SQL访问提供一套“纯”JavaAPI,同时提供一个驱动器管理器来允许第三方驱动程序可以连接到特定的数据库,如此一来数据库供应商可以提供自己的驱动器程序来插入注册到驱动器管理器中;
所以JDBC的核心思想就是:根据API编写的程序都可以与驱动器管理器通信,而驱动器管理器通过驱动程序与实际数据库进行通信;
总之,JDBC实现了以下目标:
通过使用标准的SQL语句,甚至是专门的SQL扩展,程序员可以利用Java语言开发访问数据库的应用,同时还依旧遵守Java语言的相关约定。
数据库供应商和数据库工具提供商可以提供底层的驱动程序 ,同样也可以优化各种数据库产品的驱动程序;
Java的数据库编程之背景概述相关推荐
- Java的数据库编程之入门案例
通过上一篇博客Java的数据库编程之背景概述,可以得出: 1.JDBC API与驱动器管理器是有SUN公司制定并退出的: 2.每个数据库的驱动器程序是由每个数据库开发商以及数据库工具开发商在遵循SUN ...
- 【Java】数据库编程
Java中数据库编程是通过JDBC实现的.使用JDBC技术涉及三种不同的角色:Java官方,开发人员和数据库厂商.如下图所示: Java官方提供JDBC接口,如:Connection,Statemen ...
- JAVA实现数据库编程第三章_[数据库]使用Java实现数据库编程—03 第三章 高级查询(一)...
[数据库]使用Java实现数据库编程-03 第三章 高级查询(一) 0 2018-07-21 03:01:10 1.修改表:(1)修改表名语法: ALTER TABLE RENAME [ TO ] : ...
- java语言数据库编程_JAVA语言数据库编程实例详解
本文主要向大家介绍了JAVA语言数据库编程实例详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. DOS命令登录MySQL数据库:mysql -h 127.0.0.1 -u root ...
- MySQL~Java的数据库编程:JDBC(JDBC的环境配置以及使用)
目录 JDBC的环境配置 JDBC的使用步骤(Java操作数据库) 建立数据库连接 方式一:DriverManager 方式二:DataSource(数据源/数据库连接池) DataSource与 ...
- MySQL数据库(Java的数据库编程:JDBC)
作者:渴望力量的土狗 博客主页:渴望力量的土狗的博客主页 专栏:MySQL数据库 目录 什么是数据库编程: 什么是JDBC? JDBC工作原理: JDBC的使用及相关操作: JDBC开发案例: JDB ...
- Java——MySQL数据库编程练习
Day18--数据库编程 员工表emp:员工编号,姓名,工作职位,雇佣日期,工资,奖金,部门 部门表dept:部门编号,名称,部门领导 员工数据: 1001,'张三','销售','1999-12-1' ...
- java mysql数据库编程_java JDBC数据库(mysql)编程
什么是JDBC • JDBC(Java Data Base Connectivity,Java数据库连接) • 是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问 • 它由一组用 ...
- [java] JDBC数据库编程
JDBC(Java Database Connectivity) Java数据库连接技术 官方JDK中提供的与JDBC有关的API都在java.sql包里面 API(Application Progr ...
最新文章
- T-SQL WITH 分号问题
- 写给新手炼丹师:2021版调参上分手册
- mxnet 衰减学习率
- 【哈希和哈希表】Beads
- 夯实基础,彻底掌握js的核心技术(二):面向对象编程(Object Oriented Programming)
- 如何用Html+css3写一个简单的网页
- sf | 判断点线面等几何对象的空间位置关系
- 超酷的 mip-infinitescroll 无限滚动(无限下拉)
- Excel下拉框多选(支持再次选择已选项会取消选择)
- Redis文档--详解redis
- _poto_和prototype的问题续集
- 为什么我们需要关注基于 EIP-3664 标准的可拆分,可组合的NFT?
- 2018-2019信息安全导论期末试题
- 解决在使用wandb时出现SSLError的思路
- echarts图表生成base64
- SpringBoot中配置拦截器时,跨域失效
- 旋转长天线,蝙蝠翼天线、直立天线、螺旋鞭天线
- 双非会被歧视?计算机考研复试真相!
- UE4多人网络游戏的UI设计思想
- Linux开机自动运行常用设置方法