数据库通用查询系统

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
户的IP:儿27.0.0.1 在监听: ;待用户吁叫. '户的IP:1127.0.0.1 在监昕:
n (b) 服务然满运 凭直架
阁 12. 0 数据库通用查询系统运行效果
、, 一 一 - - 一一 一一一一一一一 一一一 一- - - Jlf12章揣摩通用栩栩
12.1 设计要求
当仅仅查询数据库表中的记 录 l时,我们可以不必知道农 '1 1 宇段的属性 ,因为无论字段 是 何种属性 ,总可以使用 gctString ( int column lnd ex ) 或 gctString( String columnNamc) 方法 远国字段值的字符串表示 .另外,元论字段是何种属性,SQL 讷句的LlKE 子语句允 许 字 段值以字符$形式与其他字符中进行匹配比较 .
字为 bookfom 的农 o bookform 表的字段(属性)为:
lSBN( 文本) name( 义今本) author( 文本) publ isher( 文本 ).date( 日Jþ]) price(曼史字〉
其中 JSI3N 字段为主键. 3. 设置费量据源
ili;绕"控制ftii板"→..管用丁.具"→" ODBC 数据w;t"(某些 Windows 2000/ X P 系统 .ílJ 选 择..控制丽板"→"性能和维护"→"管理 t具"→"OOUC 数据源")命令 .双击 DB。 C 数据源 阁
阁 12. 3 DatabaseServer 类运行效果
12. 2.3 ServerThread. javaC 服务翠鸪 )
ScrvcrThread 类是 Thread 类的子类 ,在 S巳rvcr 类中负责为请求连接的用户启动 一个 钱程对象。
12. 2.4 DatabaseClient.java C 客户鹉主真 )
标 .将 book. mdb 设置为织字是 myDataSource 的数据源.
12.3. 2 Data baseServer 真
1. 效果图
Oa ta baseScrver 类驻留在服务器踹.DatabaseScrve r 类运行敛果如阁 1 2. 3 所示 . 2. UML 图 DatabascScrver 类是数据库通用查询系统服务;m端的主类.负责响应客户的连接iï'1求、
Da t a baseCl i ent 是 Applet 类的子类 ,尽管 DatabaseClient 类需要驻留在服务苦苦端,但它 需要下栽到客户端的浏览器来运行,因此 J ava Appl et 是客户端程序。DatabaseCl ient 类的成员 变缸中有 4 种重要类型的对象: Choice、Checkbox、TextArea 和Socket 对象。DatabaseClient 类 的主要成员的作用将在后 丽的详细设计中阐述,Clie nt Window 类创建的 applet 以及其中的 主要成员对象如图 12.4 所示 。
try{ Class.forName("sun. jdbc.odbc.JdbcOdbcDriver");
catch(ClassNotFoundException e) { System.out.println(e);
System.out.println("我是服务器端程序,负责处理-用户的连接请求");
建立和1客户的套搜字连接.:tt.负责在服务器端查询数据库。标明 Da tabascServe r 类的主要 成员变!盐 、方法的 UML I¥ 虫u阁 12. 5 所尿。
O.a.baCSerVer
手1
server: Sc川 rSockel : yourAddress: In时ddress
you Socket
第12章 数据库通用查询系统
f
主要内容: · 设计要求; · 总体设计; · 详细设计5 · 代码调试; · 软件发布; · 课程设计题目。 软件效果图:
数据库通用查询系统(B/S)的客户端和服务器端的运行效果如图 12.0 所示。
lillll:ω IDc 飞1田O\ind.x ht.al
(a) 客:('渊运行效果 是跟务'姗程序,负责处理用户的连细'情京 街用户.' 则
12.3.3 ServerThread 真
1.效果圈
ScrverThread 类驻留在服务拇揣 .没有可思 示的效果阁。
2. UML 图
来自百度文库
S
c
r
v
c
r
T
h
r
e a
con: Conneclion
I sockel: Sockel
d
类 是
strnl: Statcment
陌-:-R-臼-u-ltS-e-l -…
阁 1 2. 2 服务栋栋类之间的组合关系
另外,为了调试代码的苟且5. 我们用 Microsoh Acccss 设 it了名为 book. mdb 的数
据库 .
12.2.1 A 据库(服牟.a鹉〉
设计的数据库的名字是 book. mdb ,在该库中所创煌的衣是 bookform ,见 12. 3. 1 "\j详
细设计.
• 、,
Java 课程设计 f 第2版 j 一 一一 一 一一 一一一
一一一一一 一 一一一一 一 一一
12.2. 2 DatabaseServer.java C 服务忌鸪主真 )
Data baseSe rver 类创建的对象负责响应客户请求 ,该类含有 matn 方法,服务器端从该 类开始执行。DatabaseS巳rver 类的成员变盘中有 3 种重要类型的对象: ServerSocket、 Soc ket 和I ServerThread 对象 。我们将在后面的详细设计中阐述 DatabaseServer 类的 主要 成员的作用.DatabaseServcr 类运行效果如回 12. 3 所示。
L
DalabascScrv叫}:兀姿明
slanServ叫int}: void
main(Slringl ]}: void
l刽 12. 5 DalabaseScrver 类的 UML I刽
• 、,
Ja刚果程设计(第2版}一 一 一一一一- 一
以下是 UML 阁中有关数据和方法的详细说明。 1)成员变盘 • server 是 ServerSocket 对象,负责等待接受客户的套接字请求,当有客户请求套接
噎睛"饵'蜡'回t!!g

自1
图 12. 4 Da tabaseClient 创建的 applet 及主要的成员对象
一一 一一-一一 一 一 一 一一-一一 一- - t!f12章数据库翻翻系统⑤ 、,
12.3 详细设计
12.3.1 lt据库设计
JDI3C 操作不间的激据库仅仅是连接方式上的不同,我 们使用 Microsof t Access 数据库 管理系统创建一个名字为 book. mdb 的数据库.
r c
以下是 UML 圈中有关放掘和方法的详细说明.
a 1 )成员变盘
d • con 是 Co nn ection 对象,负责和数据库建立连接.
挠 • stmt 是 Statement 对象.负责向数据库发送 SQLì捋句。

rs 是 ResultSet 对象.负说存储从数据库查询至IJ 的记录 .
: your八ddress: InetAddress
LI
ServerThread(Socket.lneIAddress.LinkedLisl<Slring>lisl): 兀类型
nlll(): void
阳Jaba揭Server new ServerThreadO
T h
l划 12. 6 ServcrThread 类似UML I到
、, -一 一一一一 一一-一一一- -- 一一一一 一'第12意数据库通用查询系统②
else continue;
public static void m阳n(String args[]) ( DatabaseServer server = new DatabaseServer() ; server.startServer(6666);
1. 建立搬据库
边将 Wi ndows 2000/ XP 系统巢而 上 的"开始"…"所有程序" → M i crosof t Acccss 命 令.启动数据斥管理系统. 然后选择新iJ!敛据库. 将新建的数据库命名为 book. m巾,并 保 存ilJ0:\ch12 口求中。
2. 创建褒
创建好数据库后,就可以在该数据库 F建立若千个表.在 book. mdb 数据库中创始名
yourAddress = you.getInetAddress( ) ;
System. out.println("客户的 I乱" + yourAddress) ;
catch (IOException e){ }
if(you! = null) (
new ServerThread(you).start();
八pplct 程序编译产生所需要的关. 数据库通用查询系统|徐 f 需要编写的 3 个 Java 源文件
所编译产生的类外,还需要 J ava 系统提供的一些重要的类 . 数据库通则查询系统所用到的 一些重要的类以及它们之间的细合关系如图 12.1 和罔 12. 2 所示 .
网 12. 1 客户瑞类之间的组合关系
字连接时,server 将接受用户的请求,并调用 accept()方法返回服务器端所建立的 Sock et 对象 you,即建立服务器端套接字和客户端套接字的连接。 • you 是Socket 对象,该对象是驻留在服务器端的套接字对象,由 server 调用 accept( ) 方法所返回。 • yourAddress 是 InctAddress 对象,负责存放客户端的 IP. 2) 方法 • DatabaseServer()是构造方法。 • DatabaseServer 对象调用 startServer( int port)方法响应客户的请求。 • mam 方法是程序运行的人口方法。 3. 代码 (DatabaseServer.java)
u (2) Java Applet 通过程接字 接和服务器端的 Java ).!Y.日} 程序实现通信。J ava Applcl
程序将表的名字、表中字段的个数以及查询条件提交给服务黯.服务黯端的 Java 应剧程序 进行查询操作.并将查询结果返回给 J ava Applct 程序 .
12.2 总体设计
public void startServer( int port) ( while( true) ( try{
server = new ServerSocket(port);
catch( IOException el) ( Syst回.out. println("正在监PJT:";)
try{ System. out. println("等待用户呼叫 n) ; you = server.accept();
手 • sockct 是Sockcl 对象 .
类 • yourAddress 是 In etAdd rcss 对象,负责存放客户端的 IP.
import java.net. 铃 s import java. util 铃 ,
import )ava. iO.‘5
∞ publiDkcaettcalsbaeasrssveeSre;rver{ ServerS
Socket you; InetAddress yourAddress; public DatabaseServer() (
在设计数据库通用查询系统 H、j",需要编写 3 个 J ava 源文件: DatabaseServer. java 、 ScrvcrThread. java 和 OatabascClicn t. java. 其中 Oata ba叫Scrvcr. java 和 ScrvcrThrcad. java 为服务然端 Java 程序编洋产生所需耍的类; DatabascClicn t. java 为客户端 J a va
基于以上所述,要求设计一个 BjS模式的数据库通用查询系统,具体要求如下: (1)客 户端 ]ava Applet 辑J?-从加载该 Java Applct 程斥的 html 文件中获取数据库111
的表的名字、表的字段名字以及表中字段的个 数。这样 一来.当需 要更换所查询的表时,只 吼:修改 htm l 文件,而不必修改 J avl1 Applct 程序,使仰 Java Appl ct 在查询数据库时具有了 通用性 .
相关文档
最新文档