第一范文网 - 专业文章范例文档资料分享平台

基于JAVA的在线购物系统的设计与实现现

来源:用户分享 时间:2025/7/28 18:10:26 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

3.3 数据库设计

系统分析结束后进入设计阶段,抽象地分析数据,理解数据之间的关系,建立E-R模型,然后对数据库进行概念结构设计。由于SQL Server2005能够以极高的效率完成各种数据库查询,并能方便的使用存储过程,同时它的图形化用户界面,使系统管理和数据库管理更加直观、简单。另外由于对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。所以本系统采用了SQL Server2005进行数据库的存储管理与维护。 3.3.1 概念结构设计

将需求分析得到的用户需求抽象为信息结构即概念结构设计,这一步是数据库设计的关键。一般采用自底向上的方法进行数据抽象和结构设计。在本系统中涉及到的实体如下所示:

1. 管理员(管理员ID、登录账号、登录密码、权限级别)

2. 会员(会员ID、登录名、真实姓名、登录密码、所在城市、住址、邮政编码、证件号码、证件类型、电话号码、手机号码、邮箱、密码提示问题、问题答案)

3. 商品(商品ID,所属类别、商品名、商品介绍、单位,原价、现价、市场价格、购买次数、库存、图片、输入时间、最近更新时间、是否新品)

4. 订单(订单ID、订单下达者、付款方式、送货方式、订单下达日期、执行状态、订单描述)

5. 新闻(新闻ID、新闻标题、新闻内容、录入时间)

6. 在线调查(投票ID、投票标题、投票起止日期、A答案及其选票数)

7. 订单明细信息(订单详细信息ID,所属的订单号,对应的商品ID,对应商品价格、对应商品数量)

8. 商品大类信息(商品大类ID,商品大类名称)

9. 商品小类信息(商品小类ID,商品小类名称,所属商品大类ID) 在该系统中,各个实体的关系为:一个管理员可同时管理会员、商

第12 页

品、订单、新闻、在线调查、商品类别等多个实体对象,并且它们之间都是一对多的关系;一个会员实体可以下达多条订单信息实体,而一条订单信息又可对应多条订单明细信息实体;一条订单明细包括一个商品实体;一个商品大类信息拥有若干商品小类信息实体,而一个商品小类实体信息又拥有多个商品实体。

第4章 系统实现

总体设计阶段完成了软件的结构设计,划分了模块,并规定了各个模块的功能及他们之间的联系。在此之后,按软件开发工程化的观点,应进入系统的详细设计阶段,即系统实现。该阶段的根本目标是确定应该怎样实现所要求的系统,给出软件模块结构中各个模块的内部过程描述。本章将分模块对系统的实现给予介绍。

4.1 系统公共类的实现

本节介绍系统使用的公共类,如数据库访问通用类(用于返回数据集、

对象、受影响行数等)、用于完成购物功能的类等。编写公共类可以在其他页面中直接调用公共类的方法、属性,避免重复代码的编写,有利于系统代码的维护和日后系统的升级。 4.1.1 数据库操作类的实现

数据库操作类用于根据系统功能的要求返回一个数据集、一个object

对象(即:返回首行首列)、受影响行数(适合于对数据库的增删改操作)、PreparedStatement等。实现这些功能的是四个静态函数,其中每个静态函数又根据是否传入参数进行了重载。由于它们都是静态函数,而静态函数成员不能作用于具体的实例,所以在调用这些方法的时候可以直接用类名加函数名即可。下面仅列出返回数据集方法的实现算法,其他方法的实现逻辑大致相同:

第13 页

public Collection retrieveAllAttackSolution() {

// 提供一个创建预编译SQL 语句的变量 PreparedStatement ps = null;

// 提供一个返回SQL查询结果的ResultSet接口变量 // ResultSet带有游标可以指向返回结果中的某条记录 ResultSet rs = null;

// 实现Collection接口的ArrayList类,创建该类的实例作为本

方法的返回

ArrayList list = new ArrayList(); // SQL

语句“无条件查询

fw_attacksolution

表按

attack_event_code排序”

String sql = \ // JDBC连接 try {

// 取得JDBC连接

// 判断JDBC连接是否被关闭,若关闭则直接抛出一个

IllegalStateException

if (con.isClosed()) {

throw

new

IllegalStateException(\

CONNECTION ISCLOSED\

第14 页

}

// 预编译SQL 语句并执行 ps = con.prepareStatement(sql); rs = ps.executeQuery();

// 当返回结果集中有记录时进行处理 while (rs.next()) {

// 定义AttackSolution类型的变量并实例化

// 在这里不将其放在循环外进行实例化的原因请读者自

己考虑一下

}

// 捕捉SQLException

cloths cloth=new cloths();

cloth.setYf_Smallamge(rs.getString(\cloth.setYf_Id(rs.getInt(\

cloth.setYf_Band(rs.getString(\cloth.setYf_Price(rs.getDouble(\cloth.setYf_Num(rs.getInt(\

cloth.setYf_Describle(rs.getString(\list.add(cloth);

} catch (SQLException ex) {

第15 页

基于JAVA的在线购物系统的设计与实现现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3l82c8fzzg0daet3z40e_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top