目录
一、数据库应用结构
一个完整的数据库应用系统在逻辑上包括用户界面和数据库访问链路,
数据库在C/S或B/S双层结构中位于服务器端,构成整个数据库应用系统的后端数据库,
满足客户端连接数据库和存储数据的需要,它并不具备图形用户界面的设计功能。
客户/服务器结构

客户机/服务器模式(简称C/S)是以网络环境为基础、将计算应用有机地分布在多台计算机中的结构。
服务器(Server),客户机(Client)。
服务器负责数据的存储、检索与维护,而客户机负责提供GUI接口,对于数据能够完成创建、读、修改、删除(CRUD)等操作。
互联网应用结构

表示层:存在于客户端,只须安装一个Web浏览器软件。
Web服务器:作为一个HTTP服务器,处理HTTP协议,接受请求并按照HTTP格式生成响应;执行服务器端脚本(如VBScript、JavaScript等);对于数据库应用,能够执行创建、读、修改、删除(CRUD)等操作。
数据层:存在于数据库服务器上,安装有DBMS,提供SQL处理、数据库管理等服务。
在C/S结构中,图形用户界面的设计工作通常使用可视化开发工具C++,Java和C#等。
在B/S结构中,常使用ASP.net、JSP和PHP等来实现业务逻辑。
二、数据连接技术
常用的数据库的连接方法有: ODBC ADO JDBC
1.ODBC
ODBC(Open Database Connectivity)是微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范。
它应用数据通信方法、数据传输协议、DBMS等多种技术定义了一个标准的接口协议,允许应用程序以SQL作为数据存取标准,来存取不同的DBMS管理的数据。

2.ADO
ADO(ActiveX Data Objects,ActiveX数据对象)技术则是一种良好的解决方案,提供一种面向对象的、与语言无关的应用程序编程接口。
ADO的应用场合非常广泛,而且支持多种程序设计语言,不仅兼容所有的数据库系统,从桌面数据库到网络数据库等,ADO提供相同的处理方法。
ADO 对象模型

每个Connection、Command、Recordset 和 Field 对象都有 Properties 集合。
Connection对象要负责与数据库 建立连接 和 执行SQL语句。
Command对象主要执行CRUD操作。
RecordSet对象主要存放对数据库表查询的结果
3.JDBC
JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的操作数据库的Interface(一组API),定义了用来访问数据库的标准Java类库,而接口的实现有各个数据库厂商来完成。
JDBC驱动程序(jar包):数据库厂商对JDBC接口的一组实现类(jar包)。
JDBC结构模型

JDBC AAPI接口介绍

三、数据库应用开发
Java在实际应用中和数据库有着密切的关系,Java编程工具以其诸多优点而越来越受到程序开发人员的喜爱,其市场占有率越来越大,下面就以Java工具为例,来介绍JDBC在数据库应用开发中的关键技术 。

搭建Java开发数据库的环境:
1.加载外部jar包
2.加载系统jar包,创建单元测试环境
Java连接数据库并操作数据的步骤:
1.加载驱动
加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名。
DriverManager 类是驱动程序管理器类,负责管理驱动程序。
通常不用显式调用 DriverManager 类的 registerDriver() 方法来注册驱动程序类的实例, 因为 Driver 接口的实现类都包含了静态代码块,在这个静态代码块中,会调用 DriverManager.registerDriver() 方法来注册自身的一个实例。
2.获取数据库连接
连接数据库的URL:

3.获取Statement对象
数据库连接被用于向数据库服务器发送命令和 SQL 语句,在连接建立后,需要对数据库进行访问,执行 sql 语句。
在 java.sql 包中有 3 个接口分别定义了对数据库的调用的不同方式:
Statement :用于执行不带参数的SQL语句;
PrepatedStatement :用于执行带或不带IN参数的预编译SQL语句;
CallableStatement:用于执行对数据库已有存储过程的调用。
4.操作数据库
Statement只是一个接口,没有构造方法,所以不能直接创建它的实例。
但Connection接口提供了createStatement方法专门用于创建Statement对象:
Statement stmt=con.createStatement();
创建Statement对象之后,就可以用于执行SQL语句;
Statement接口有4个基本的方法可以使用:
(1)executeQuery :用于执行查询语句;
(2)executeUpdate :用于执行更新语句 。
5.获取返回结果
(1)executeQuery():用于执行产生单个结果集的SQL语句,返回的是查询的结果集。
(2)executeUpdate():用于执行INSERT、UPDTE或DELETE语句以及数据定义语句,如CREATE TABLE和DROP TABLE等。
executeUpdate的返回值是一个整数,表示受影响的行数。对于数据定义语句的返回值为零。
6.关闭对象
原则:先开后关
PreparedStatement
PreparedStatement是Statement的子接口,PreparedStatement的实例包含已编译的SQL语句。
由于PreparedStatement对象已预编译过,所以其执行速度要快于Statement对象。因此,多次执行的SQL语句经常创建为PreparedStatement对象,以提高效率。另外, PreparedStatement对象可以防止SQL注入。
数据库的CRUD操作
CRUD是指在做计算处理时的增加(Create)、读取(Retrieve)(重新得到数据即查询)、更新(Update)和删除(Delete),主要被用在描述软件系统中数据库的基本操作功能
利用windowbuilder设计用户界面
windowbuilder是一款可视化的用户界面设计工具,使用特别方便。

用户登录时序图

本文详细介绍了数据库应用的结构,包括客户/服务器结构和互联网应用结构,并探讨了数据连接技术如ODBC、ADO和JDBC。此外,还讲解了如何使用Java进行数据库应用开发,包括加载驱动、获取数据库连接、执行CRUD操作以及利用windowbuilder设计用户界面。

被折叠的 条评论
为什么被折叠?



