一.JDBC概述
第1章:JDBC概述
1.1 数据的持久化
持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。
持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。
1.2 Java中的数据存储技术
在Java中,数据库存取技术可分为如下几类:
JDBC直接访问数据库
JDO (Java Data Object )技术
第三方O/R工具,如Hibernate, Mybatis 等
JDBC是java访问数据库的基石,JDO、Hibernate、MyBatis等只是更好的封装了JDBC。
1.3 JDBC介绍
- JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql和javax.sql)使用这些类库可以以一种标准的方法、方便地访问数据库资源。
- JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。
- JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。
- 如果没有JDBC,那么Java程序访问数据库时是这样的:
小知识:Mysql和Oracle都是Oracle公司的,SQLServer是微软的,DB2是IBM的,这些都是常用的关系型数据库,除了Mysql其他都是收费的。
- 有了JDBC,Java程序访问数据库时是这样的:
- 总结如下:
什么规范呢,规范就是如何使用Java应用程序操作数据库的规范。上图中各个数据库JDBC的驱动都是各大数据库的公司自己按照JDBC的标准来编写的。
1.4 JDBC体系结构
- JDBC接口(API)包括两个层次:
- 面向应用的API:Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果)。
- 面向数据库的API:Java Driver API,供开发商开发数据库驱动程序用。
JDBC是sun公司提供一套用于数据库操作的接口,java程序员只需要面向这套接口编程即可。
不同的数据库厂商,需要针对这套接口,提供不同实现。不同的实现的集合,即为不同数据库的驱动。 ————面向接口编程
1.5 JDBC程序编写步骤
补充:ODBC(Open Database Connectivity,开放式数据库连接),是微软在Windows平台下推出的。使用者在程序中只需要调用ODBC API,由 ODBC 驱动程序将调用转换成为对特定的数据库的调用请求。
相关文章:

在Blender中创建惊人的低多边形动画
大小解压后:13.5G 持续时间10小时 包括项目文件 1920X1080 MP4 语言:英语中英文字幕(根据原英文字幕机译更准确) 标题:CGBoost学院–立方体世界在Blender中创建惊人的低多边形动画 信息: 创建漂亮的3D动画,就像玩乐高…

开发Eclipse自定义控件
摘自:http://www.ibm.com/developerworks/cn/opensource/os-eclipcntl/ 我们在开发自定义控件时主要考虑以下问题: 1、 自定义控件的绘制:通常我们需要自己对控件的形状或图案进行绘制; 2、 控件对键盘事件的响应:当焦…

小米手机无法连接eclipse调试案例
按照参考博客2的方法 小米2S手机在Eclipse真机调试时,设备选择列表无法显示手机,DDMS也连接不上设备,解决步骤: 1.打开手机设置中开发者选项 - USB调试开启; 2.保证小米2S手机Windows下设备驱动已安装,可…

手机号码格式验证和 FASTDFS 工具类
常见大陆和香港号码格式验证 import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException;public class PhoneFormatCheckUtils {// 大陆号码或香港号码均可public static boolean isPhoneLegal(String str) throws Patt…

Maya摄像机动画技能学习教程
MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确) |时长:4h 38m |大小解压后:1.65 GB 含课程文件 Maya的相机工具是所有3D包中最好的。在本课程中&#x…

前端解决跨域问题的8种方案(最新最全)
.同源策略如下: URL说明是否允许通信http://www.a.com/a.jshttp://www.a.com/b.js同一域名下允许http://www.a.com/lab/a.jshttp://www.a.com/script/b.js同一域名下不同文件夹允许http://www.a.com:8000/a.jshttp://www.a.com/b.js同一域名,不同端口不允…

IDEA中修改文件的默认创建方式
今天很手欠地在创建application-dev.yml文件的时候将application-dev这个名字的文件成功变成了一个我不认识的文件打开方式了,如下图: 可以看到,这个application-dev.yml文件从原来的SpringBoot的配置文件变成一个我们不认识的文件格式… 补…

ArcEngine 直连连接SDE
关键代码IPropertySet pPropertySet new PropertySetClass();pPropertySet.SetProperty("SERVER", sde.IpAdress);pPropertySet.SetProperty("INSTANCE", "sde:oracle11g$//" sde.IpAdress "/" sde.Instance); pPrope…

Dubbo和Spring Cloud微服务架构对比
一、为什么要使用微服务? 微服务提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合。 今天我们来了解下业内主要的微服务框架:Dubbo 和 Spring Cloud 微服务主要的优势 降低复杂度将原来耦合在一起的复杂业务拆分为单个服务,…

Unity 3D为策略游戏创建地图学习教程
MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确) |时长:30节课(7h 42m) |大小:5 GB 含项目文件 沿着曲线、高程图和数据结构移动对象 你会学到: Unity&…

Lambda表达式(简单解析)
Lambda表达式 Lambda表达式其实是JDK8的一个新特性。所谓Lambda表达式指的是应用在单一抽象方法接口环境下的一种简化定义形式,可以用于解决匿名内部类中定义复杂的问题。 我们先来看一段代码,如下: interface Customer{public void print(…

YTU 2899: D-险恶逃生 I
2899: D-险恶逃生 I 时间限制: 1 Sec 内存限制: 128 MB提交: 130 解决: 55题目描述 Koha被邪恶的巫师困在一个m*n的矩阵当中,他被放在了矩阵的最左上角坐标(0,0)处,而唯一的出口在矩阵最右下角坐标(m-1,n-1)处,他每次只能向右或者向下移动一…

2021-2027年中国托育服务行业市场研究及前瞻分析报告
【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国托育服务行业市场行业相关概述、中国托育服务行业市场行业运行环境、分析了中国托育服务行…
2021全国高校计算机能力挑战赛(初赛)Java试题一
从大于等于N 的正整数里找到一个最小的数M,使之满足:M和M的逆序数(如1230的逆序数为321)的和为一个[100000,200000]区间内的值。 import java.util.Scanner; public class Main {public static void main(String[] args){Scanner scanner new Scanner(System.in);int N scann…

Blender写实产品创作学习教程
Blender中的现实产品创作 Realistic Product Creation in Blender MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确)|时长:71节课(6小时30分钟)|大小解压…

试题 入门训练 Fibonacci数列(Java)
题目: 一开始我看到这题目其实觉得挺简单的,第一次简单写了一个循环就提交上去了,结果… 我意识到这是因为超过long类型的最大范围导致的,所以第二次换成BigInteger大整数类型,但最后一个测试点超时了… 通过百度…

翻译BonoboService官网的安装教程
This page covers simple Bonobo Git Server installation. Be sure to check prerequisites page before installation and for other sections visit the documentation page. 此页包括简单的Bonobo Git 服务安装。在安装和查看文档页之前要先查看系统要求页。 The following…

2021-2027年中国涂装行业市场需求预测与投资战略规划分析报告
【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国涂装行业市场行业相关概述、中国涂装行业市场行业运行环境、分析了中国涂装行业市场行业的…

【SICP练习】84 练习2.56
这道题的代码略长啊。不过我也是因此而知道Edwin上的代码居然可以复制到word上,以前还想当然的以为不能复制的,毕竟在Edwin上粘贴用的CtrlY,而不是CtrlV。在这里我就只将书上没有的代码贴出来了。 (define (deriv exp var)(cond ((number? e…
2021全国高校计算机能力挑战赛(初赛)Java试题二
某地大数据防疫平台记录了往来的所有防疫相关信息,包括本地或外地人员、健康码颜色、接种疫苗情况、最近一次核酸结果等 import java.util.ArrayList; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new …

Zbrush2021写实人物肖像雕刻学习教程
Zbrush 2021写实人物肖像雕刻学习教程 Zbrush 2021 Character Likeness Sculpting Tutorial 大小解压后:24G 持续时间32h 1280X720 MP4 语言:英语中英文字幕(根据原英文字幕机译更准确) 标题:Udemy–Zbrush 2021人物肖像雕刻教程…

监听指定端口数据交互(HttpListenerContext )
很怀念以前做机票的日子,,,,可惜回不去 以前的项目中的,拿来贴贴 场景:同步第三方数据,监听指定地址(指定时间间隔,否则不满足,因为需要处理粘包问题…

OpenCV-Java版学习(1.在IDEA中使用OpenCV)
前言 因为最近要做一个关于计算机视觉的应用程序,所以便来学一下OpenCV的使用,上网找了许久也没找到OpenCV关于Java的教程,无奈之下只能照着官方的Python版的文档学习,所幸里面的函数的使用方法基本都一样。 IDEA中使用OpenCV …

ElasticSearch Groovy脚本远程代码执行漏洞
什么是ElasticSearch?它是一种分布式的、实时性的、由JAVA开发的搜索和分析引擎。2014年,曾经被曝出过一个远程代码执行漏洞(CVE-2014-3120),漏洞出现在脚本查询模块,由于搜索引擎支持使用脚本代码…
2021全国高校计算机能力挑战赛(初赛)Java试题三
二维空间中给定的一组点的坐标,以任意两个点为直径绘制一个圆。求可以绘制的最大圆,满足该圆不包含其他点,输出直径 import java.util.*;import java.util.Scanner; public class Main {private static double res -1;public static void ma…

在Blender中制作火箭发射烟雾和火焰模拟的动画
大小:1.25G 时长1h 30m 1280X720 MP4 语言:英语中英文字幕(根据原英文字幕机译更准确) 在Blender中制作火箭发射烟雾和火焰模拟的动画 Animate a Rocket Launch Smoke & Fire Simulation in Blender 信息: 制作火箭发射的短片…

OpenCV-Java版学习(2.图像入门)
前言 上一篇博客我们讲了如何在IDEA中使用OpenCV来进行一些简单的图像操作,这节我们来学习图像的一些基本的入门级操作。 图像入门 一.在Java中使用OpenCV注意事项 1.解决awt报错问题 先给大家贴个错误,如下图: 我们在使用awt处理图像的…

两个数组找不同
<script> function subArr(a, b) { return a.filter(function(i) { return b.indexOf(i) -1 }) } console.log(subArr([1,2,3,4],[3,4,5])); </script>转载于:https://www.cnblogs.com/mouse2417/p/5165391.html

jQuery Mobile设置边距的宽度和颜色
border-top:10px solid #EFEFF4"
2021全国高校计算机能力挑战赛(初赛)Java试题四
某游戏公司设计了一个奖励活动,给N个用户(1<N<10^7)连续编号为1到N,依据用户的编号S发放奖励。 import java.util.ArrayList; import java.util.Scanner;public class Main {public static void main(String[] args) {Scann…