《数据库应用程序开发.docx》由会员分享,可在线阅读,更多相关《数据库应用程序开发.docx(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库应用程序开发一、数据库应用程序结构数据库应用程序是指任何可以添加、查看、修改和删除数据特定数据库中数据的应用程序。数 据库应用程序一般包括三个部分:一是为应用程序提供数据的后台数据库;二是实现与用 户交 互的前台界面;三是实现具体业务逻辑的组件;具体来说,数据库应用程序的结构可依其数据处 理及存取方式分为:主机一多终端结构、文件型结构、C/S(客户机/服务器)结构,B/S (浏览器/ 服务器)结构以及3 (N)层结构; 1.1 客户机/服务器结构C/S(Client/Server)结构,最简单的C/S结构的数据库应由两部分组成,即客户应用程序和数 据库服务程序。二者可分别称为前台程序和后
2、台程序。运行数据库服务器程序的计算机称为应用 服务器,一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户程序运行在用户的 计算机上,相对于服务器,可称为客户机。当需要对数据库中的数据进行任何操作时,客户程序 就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果。 在在的问题:(1)伸缩性差(2)性能较差(3)重用性差(4)移植性差浏览器/服务器结构B/S (Browser/Server)结构,是随着Internet的发展,对C/S结构的一种改进的结构。在B/S 结构中,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事 务逻辑在服务器
3、端实现。基于B/S结构的软件,系统安装、修改和维护全在服务器端解决。(1)支撑环境C/S结构一般建立在专用的小范围的局域网络环境。而B/S建立在广域网这 上。(2)安全控制(3)程序架构(4)可重用性(5)可维护性(6)用户界面3 (N)层结构所谓三层体系结构,是在客户端和数据库之间加入一层“中间层”,也叫组件层。通常情 况下,客户端不直接与数据库进行交互,而是通过中间层(动态链接库,WEB服务或 JavaBean)实现对数据库的存取操作。3层体系结构将2层结构中的应用程序处理部分进行分离,将其分为用户界面服务程序 和业务逻辑处理程序。分离的目的是使客户机上的所有处理过程不直接涉及到数据库管理
4、系统, 分享的结果将应用程序在逻辑分为3层:(1)用户界面层实现用户界面,并保证用户界面的友好性.、统一件”(2)业务逻辑层。实现数据库的存取及应用程序的商业逻辑计算。(3)数据服务层。实现数据定义、存储、备份和检索等功能,主要由数据库系统实现。 在3层结构中,中间层起着双重作用,对于数据层是客户机,对于用户层是服务器。3层结构的系统具有如下特点:(1)业务逻辑层放在中间层可以提高系统的性能,使中间层业务逻辑处理与数据层的业务 数据结合在一起,而无需考虑客户的具体位置。(2)添加新的中间层服务器,能够满足新增客户机的需求,大大提高了系统的可伸缩性。(3)业务逻辑层放在中间层,从而使业务逻辑集中
5、到一处,便于整个系统的维护和管理及 代码的复用。不管是3层还是多层,层次的划分是从逻辑上实现的。1.2 数据库的访问技术数据库的访问技术包括ODBC/JDBC、OLEDB、ADO和ADO.NETo1、继ODBC之后,微软推出了 OLEDB。OLE DB是一种技术标准,目的是提供一种统一 的数据访问接口。2、ADO二、Java平台SQL Server数据库程序开发1、ODBC/JDBCODBC (Open Database Connectivity,开放式数据库互联)是微软推出的一种工业标准,一种 开放的独立于厂商的API应用程序接口,可以跨平台访问各种个人计算机、小型机以及主 机系统。绝大多数
6、厂商、大多数应用软件和工具都为自己的产品提供了 ODBC接口或提供 了 ODBC 支持,这其中包括了常用的 SQL Server, Oracle,Informix0 Access0 JDBC 是 Java 数据库连接(Java Database Connectivity)o 2、 JDBC API 介绍Java语言是一种纯粹的面向对象程序设计语言,它提供了方便访问数据的技术。JDBC由一 组用Java语言编写的类与接口组成,通过调用这些类和方法,用户能够以一致的方式连接 多种不同的数据库系统,进而使用标准的SQL语言来存取数据库的数据,而不必再为每种 数据库系统编写不同的Java程序代码。3、
7、Java应用程序通过JDBC API (包含在java.sql包中)与数据库连接,而实际的动作则是 由JDBC驱动程序管理器通过JDBC驱动程序与数据库系统进行连接。JDBC -ODBC桥是一 种JDBC驱动程序,它通过将JDBC操作来实现的。JDBC是个“低级”接口,它用于直接调用SQL命令。(1) ConnectionConnection对象代表与数据库的连接。一个应用程序可与单个数据库有一个或多个连接, 或者可以与许多数据库进行连接。与数据库建立连接的标准方法是调用DriverManager.getConnection方法。该方法接受含有 某个URL的字符串。/sql serverStr
8、ing url =jdbc:odbc:databasename”;Connection con = DriverManager.getConnectionrlleegh/Ueegh 1992”);/mysqlStatic final String url = jdbc:mysql:/localhost/databasename”(2) DriverManager类是JDBC的管理层,作用于用户与驱动程序之间。它跟踪可用的驱动程 序,并在数据库和相应驱动之间建立连接。对于简单的应用程序,程序员使用其唯一的方法 DriverManager.getConnection来建立连接。通过调用方法Clas
9、s.forName将显示地加载驱动 程序类。Clas s.forN ame()加载驱动程序String url =,jdbc:odbc: library”;Connection con = DriverManager.getConnectionrlleegh/leegh 1992”);(3) StatementStatement对象用于将SQL发送到数据库中。Connection con = DriverManager.getConnection(urlJleegh”Jleeghl992”);Statement stmt = con. createStatement();Statement接口
10、提供了 3种执行 SQL语句的方法:executeQuery、executeUpdate和execute; 方法executeQuery用于产生单个结果集的语句,如SELECT语句;方法executeUpdate用于执行INSERT、UPDATE或DELETE语句以及SQL DDL (数据定 义语言)。方法execute用于执行返回多个结果集,多个更新计数或二者组合的语句。执行语句的所有方法都将关闭所调用的Statement对象打开的结果集。这意味着重新执行 Statement对象之前,需要完成对当前ResultSet对象的处理。Statement将由Java垃圾收集 程序自动关闭。程序员也应
11、在不需要 Statement对象时显示的关闭它们,这样可以释放 DBMS资源,有助于避免潜在的内存问题。4、ResultSetResultSet包含符合SQL语句中条件的结果集,并且通过一套get方法提供了对这些行中数 据的访问。ResultSet.next方法用于移动到ResultSet的下一行,使下一行成为当前行。Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(uselect c_id,c_name from Sc);While(rs.next()(打印当前行String no = rs.getString(c_id);System .out.println(no);)ResultSet维护指向其当前数据行的光标。每调用一次next方法,光标向下移动一行。最初 它位于第一行之前,因此第一次调用next方法将把光标置于第一行上,使它成为当前行。 随着每一次调用next导致光标向下移动一行,按照从上至下的次序获取ResultSet行。
限制150内