Java数据库应用开发
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
Hwadee 华迪实训
1.2、 JDBC驱动程序类型。
• 通过将JDBC调用映射到其他关系数据库的CLI(Call Level Interface)调用来实现JDBC,使用由其他语言所写的二进制库。要 求客户提供软件,如JDBC-ODBC桥驱动程序。 驱动程序一部分由Java代码组成,另一部分由使用其他CLI的本地代 码组成。要求客户端二进制代码。 纯Java驱动程序,使用中间件(middleware)将JDBC调用转换成 访问数据库所需的厂商相关的调用和协议。 纯Java驱动程序,实现了本地协议。无需中间件或任何客户端二进 制代码。需要时可下载到客户端。
ResultSet类
ResultSet类用于遍历SQL的Select语句执行后的返回结果。
11
Hwadee 华迪实训
B.
Jdbc drive API java.sql.Drive 需要完成JDBC API所定义的抽象类的实现。所有 的驱动程序必须提供对java.sql.Connect 、java.sql.Statement 、 java.sql.PreparedStatement和java.sql.ResultSet的实现。
Hwadee 华迪实训
Java数据库应用开发
华迪实训基地 Version:1.0
Hwadee 华迪实训
内容
课程 授课形式 重点、难点 授课内容 习题思考 信息反馈
2
Hwadee 华迪实训
受训对象
软件类专业实训学生
3
Hwadee 华迪实训
课程
总课时:3学时 授课大纲:
一、JDBC简介
1.1、什么是JDBC Java DataBase Connectivity(JDBC)是一项在 Java中以面向对象的方法来连接数据库的技术。它是 对ODBC API进行的一种面向对象的封装和重新设计, 它易于学习和使用,并且能够使您编写不依赖供应商的 代码,用于查询和操纵数据库。JDBC提供了一些相当 低层的方法来存取数据库。同时也在相当高层提供了功 能强大的对象来处理数据库。支持JDBC的所有数据库 必须至少可以支持SQL-92标准,这在很多程度上实现 了跨数据库和平台的可移植性。
PreparedStatement类
PreparedStatement类与Statement类相似,都允许在数据库 上执行一个SQL语句,但不同的是, PreparedStatement类在执 行前就将查询呈现给数据库,接着数据库引擎处理查询,包括解析 语句,为可能在运行时传递的参数留出存储空间,以选择能够最高 效地执行语句的方法。数据库引擎存储了对被处理或预处理语句的 引用,对那些必须被多次执行的语句,使用PreparedStatement 可提高性能。
8
Hwadee 华迪实训
A.
JDBC 接口
DriverManager
connection
connection
connection
Statement
Statement
Statement
Statement
Resultset
Resultset
Resultset
9
Hwadee 华迪实训
DriverManager 类
13
Hwadee 华迪实训
14
Hwadee 华迪实训
15
Hwadee 华迪实训
Jbuilder 数据库常用组件或类介绍 DataSet类
DataSet类是一个虚拟类,大量的涉及到所有数据设置的公用 (Public)API的接口都在这个类中,所有关于数据设置(DataSet)】 的导航、数据访问、更新的API的接口都在这个类中。支持主要细节关 系(Master-detail relationships)、行排列(Row ordering)、 行筛选(Row filteing)的接口也包含在这个类中,一些dbswing Data-aware的组件具有一个DataSet的属性。 QueryDataSet组件 是一个JDBC的特殊DataSet,它负责管理由JDBC提供的数据。被 提供的数据定义一个询问(query)属性。这个询问(query)属性定 义了一个SQL语句。
可视组件的数据绑定支持
DataExpress DataSet组件提供一个强有力的编程接口,以及对于数据 识别组件的直接数据绑定的支持,如在可视化设计器中的网格、列、表、 字段,通过点的导航与单击属性设置。
21
Hwadee 华迪实训
插入式存储器
当数据从一个供应者获得时,它缓冲于DataSet。对 缓冲的DataSet所做的所有编辑都被追踪,以便解析器代 码段知道什么需要被更新到数据源中。DataExpress为此 缓冲存储器提供两个选项:MemoryStore(默认)和 DataStore。MemoryStore把所有的数据和数据编辑缓 冲到内存中。 DataStore使用一个纯Java、小规模、高 性能、可嵌入的数据库来缓冲数据和数据编辑。 Jbuilder数据库开发实例。
Statement类
Statement类用来在数据库上执行SQL语句,这些语句可以是 SQL的select语句或某种类型的更新语句(如insert,update,delete) 或数据定义语言(create table 等等),select语句的执行结果
10
Hwadee 华迪实训
保存在ResultSet对象中,更新语句的执行结果返回一个整数值, 指明该语句更新了的行数。
0:20 0:40 0:60 0:90 0:135 JDBC简介 连接SQLServer2000数据库参数 JDBC访问数据库 JDBC的Jbuilder开发 数据库开发实例
共计:
3学时
4
Hwadee 华迪实训
ቤተ መጻሕፍቲ ባይዱ
重点、难点
一、JDBC访问数据库。 二、连接数据库的参数设置。
5
Hwadee 华迪实训
16
Hwadee 华迪实训
TableDataSet组件
是一个普通的DataSet组件,它没有内置提供器的机制。即便没有 默认的提供器,它仍然可被用于恢复数据资源中的数据。列和数据, 可通过DataSet的方法或是从DataFile组件(如TextDataFile)中导 入的办法,加入一个TableDataSet组件。 与行相关的类在DataExpress API中被广泛的应用,ReadRow和 ReadWriteRow使用起来更像是指出使用意图的接口。通过使用类的 层次,实施过程是分享的,在这里有很多细微的性能优势要比使用接 口的(Interface)好。 类关于DataSet方法的层次机构如下:
DriverManager类负责管理对JDBC应用加载的驱动程序的访问, 根据对它的getConnection方法的调用来选择驱动程序。
Connection类
Connection类主要用于创建Statement对象,可使用这些 Statement对象在数据库上执行SQL语句,提供了一些方法来获知 数据库连接的属性和状态,也管理事务,提供了向数据库提交数据并 对连接的自动提交行为进行改变的方法。
17
Hwadee 华迪实训
18
Hwadee 华迪实训
其中:
• StorageDataSet方法处理DataSet的结构 • DataSet方法用于导航
• ReadWriteRow方法让您在当前行里编辑列 • ReadRow 方法提供对当前行中列的读访问 • TableDataSet和QueryDataSet把所有的方法分层。
二、连接SQLServer2000数据库参数
与数据库的连接: 1.
装载驱动程序
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”) 2. 建立连接 String connectionURL = "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=XS CJ;User=sa;Password=sa”; 12
• • •
这些驱动程序的不同主要在于驱动程序的组成部分、各个组成部分 所处的位置以及用来开发这些组成部分的语言。每个数据库厂商都使 用不同的调用和不同的网络协议来访问数据库。
7
Hwadee 华迪实训
1.3、JDBC API接口 编写一个数据库应用程序,需要完成几件事:
加载一个数据库驱动程序 创建到数据库的连接,执行查询,如果查询有返回值,还要接 受结果并对其进行处理。 JDBC API的目标是提供对关系数据库的厂商无关的支持。通过 JDBC API的使用,可以将使用的各种数据库实现上的不同都抽象出来。 JDBC API分为两个层次,一是面向程序开发人员的JDBC API, 另一是底层的JDBC Drive API.
DataExpress组件被设计为模块,从而允许分离关键功能,
DataExpress体系结构的模块化有如下特征:
核心DataSet功能。这是DataExpress的应用程序可使用的数
据处理功能的集合。可使用声明属性与设置事件来应用此功能 的大部分。此功能包括导航、数据存取/更新、数据排序/过滤
20
Hwadee 华迪实训
主-从支持、查找、约束、默认,等等。
数据源独立
从一个数据源,如SQLServer或Oracle服务获取与更新数据被分离为两 个关键的界面:供应者/解析器(Resolver)。通过把数据的获取与更新 干净的分离到两个界面,很容易为新数据源创建新的供应者/解析器组件。 对于标准的JDBC驱动程序有两种供应者/解析器的实现,他们提供对流 行数据库的访问。
DataSetView组件
这个组件用于提供对行排列及过滤的独立浏览。
19
Hwadee 华迪实训
StorageDataSet 类 StorageDataSet 类可使用内存空间来存储数据 向Jbuilder中添加JDBC驱动
1. 遵照安装向导安装JDBC驱动
2. 创建库文件和配置文件
Jbuilder 的DataExpress体系结构
22
Hwadee 华迪实训
习题思考
1、数据库(Database )组件的作用是什么? 2、数据显示组件有那些? 3、数据模块(DataModule)应用的优点是什么?
23
Hwadee 华迪实训
信息反馈
……
THANK YOU
24
Hwadee 华迪实训
Connection con = DriverManager.getConnection( connectionURL );
三、 JDBC的Jbuilder开发
数据库应用程序是指任何可以访问存储数据,并且允许查看,修 改或操作该数据的应用程序。Jbuilder的数据库应用程序可以连接到 任何拥有JDBC驱动的数据库。 下图是一个典型的数据库应用程序,以及从Jbuilder DataExpress数据库应用客户到数据资源的各个层次。