免费预览已结束,剩余77页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统课程设计数据库系统课程设计 图书网购网站管理系统图书网购网站管理系统 一 课程设计题目 2 1 1 图书网购网站管理系统 2 1 2 课程设计的任务与要求 2 1 2 1 目的与任务 3 1 2 2 实验基本要求 3 1 2 3 开发环境说明 3 二 功能需求分析及模块设计 4 2 1 总模块列表 4 三 数据库概念设计 5 3 1 实体 E R 图 5 3 2 整体 E R 图如图所示 7 四 数据库逻辑设计 8 4 1 关系数据库模型简述 8 4 2 数据库设计 8 五 系统开发 9 5 1 数据库建立 9 5 2 系统 DAO 方法 用户存放对数据库操作的所有方法 14 5 2 1 接口类 manage java 14 5 2 2 方法实现类 DAO java 16 5 2 3 控制层方法 22 5 2 4 系统表示层代码 51 六 总结 83 一 一 课程设计题目课程设计题目 1 1 图书网购网站管理系统 图书网购网站管理系统 一家书店可以为店中现有的图书增加网上销售的渠道 与现在流行的当当网 卓越原理基本相同 会员通过提交订单 卖家便可根据订单配货发送 卖家可以 在随时通过该网站管理系统对会员信息 订单信息 图书信息进行管理 1 2 课程设计的任务与要求课程设计的任务与要求 1 2 1 目的与任务 目的与任务 1 常务数据库设计和实现的基本过程 2 常务数据库模式设计 分析和实现的方法 3 了解数据库应用网站开发的一般过程 1 2 2 实验基本要求 实验基本要求 1 学习相关的预备知识 2 按照数据库设计与实现过程完成数据库的设计 网站的开发 上级调 试运行 3 写出课程设计报告 1 2 3 开发环境说明 开发环境说明 处理器 Intel Pentium 4 3 06 以上 内存 256 以上 操作系统 windows 2000 XP win7 开发软件 Myeclipse 8 5 数据库 Mysql 二 二 功能需求分析及模块设计功能需求分析及模块设计 2 1 总模块列表 总模块列表 总模块名称子模块名称子模块功能描述备注 会员管理 1 显示查询 2 删除会员 图书管理 1 显示查询 书名关键字模糊搜索 图书类别编号 2 添加图书 3 删除图书 4 更改图书信息 5 分页查询 订单管理 1 显示查询 条件 订单编号 订单状态 订单所属会员 2 删除订单 3 更改订单信息 4 显示订单详情 管理员后台 管理员管理1 更改管理员信息 会员管理1 会员信息更改 订单管理 1 订单显示 按时间降序 2 显示订单详情 图书管理 1 显示查询 书名关键字模糊搜索 图书类别编号 2 查看图书详情 会员后台 购物车管理 1 购买图书 2 下订单 3 计算订单金额 三三 数据库概念设计数据库概念设计 3 1 实体实体 E R 图图 本实例根据上面的需求分析 设计规划出的实体有 用户实体 管理员实体 图书实 体 订单实体 订单详情实体 图书类别实体 各个实体的 E R 图描述如下 用户实体 E R 图 管理员 E R 图 图书实体 E R 图 图书类别实体 E R 图 订单实体 E R 图 订单详情 E R 图 3 2 整体整体 E R 图如图所示 图如图所示 四 数据库逻辑设计四 数据库逻辑设计 4 1 关系数据库模型简述关系数据库模型简述 关系数据库的数据模型 即关系模型 是由一组关系模式组成 因而 ER 图向关系模型 转换实际上就是将实体 包括实体的属性 和联系转化为关系模型 一般遵循以下基本原 则 1 一个实体型转换为一个关系模式 实体的属性就是关系的属性 实体的码就是关 系的码 2 一个 1 X X 为 1 或者 n 联系通常与某一端的关系模式合并 其中 1 n 的联系 需要与 n 端对应的关系模式合并 需要在合并的关系模式的属性中加入另一个关 系模式的码和联系本身的属性 3 一个 m n 联系转换为一个关系模式 与该关系相连的各实体的码以及本身的属性 均转换为关系的属性 而关系的码为各个实体码的组合 4 三个或三个以上实体间的一个多元联系可以转换为一个关系模式 与该多元联系 相连的各实体的码以及联系本身的属性均转换为关系的属性 而关系的码为各个 实体的码的组合 5 具有相同码的关系模式可合并 4 2 数据库设计数据库设计 数据库采用数据库采用 Mysql 来建立 来建立 数据库名称为 bookmange 1 用户表 字段名字段类型字段说明 UidInteger自动增长 主键 UsernameVARCHAR 45 用户名 UserpassVARCHAR 45 密码 truenameVARCHAR 45 真实姓名 EmailVARCHAR 45 电子邮箱 2 订单表 字段名字段类型字段说明 OidInteger自动增长 主键 UseridInteger会员编号 OrderdateDATETIME订单时间 AddressVARCHAR 45 送货地址 UsernameVARCHAR 45 会员名 MobileVARCHAR 45 会员手机 StatusInteger状态 是否发货 1 为已经发货 0 为暂未发货 3 订单详情表 字段名字段类型字段说明 OdidInteger自动增长 主键 OidInteger订单编号 UseridInteger会员编号 BookidInteger图书编号 UnitpriceDOUBLE图书单价 QuantityInteger购买图书数量 DiscountDOUBLE图书折扣 4 图书表 字段名字段类型字段说明 BookidInteger自动增长 主键 CateidInteger图书类别编号 BooknameVARCHAR 45 图书名称 BookdescTEXT图书内容 UnitpriceDOUBLE图书单价 BooksortInteger图书排序参数 AuthorVARCHAR 45 图书作者 StatusInteger状态 是否还有库存 1 为有货 0 为缺货 DiscountDOUBLE折扣 5 图书类别 字段名字段类型字段说明 CateidInteger自动增长 主键 CatenameVARCHAR 45 图书类别名称 6 管理员表 字段名字段类型字段说明 AdminidInteger自动增长 主键 anameVARCHAR 45 管理员登录名 ApassVARCHAR 45 密码 TruenameVARCHAR 45 真实姓名 EmailVARCHAR 45 电子邮箱 五五 系统开发 系统开发 5 1 数据库建立数据库建立 Table structure for table admin DROP TABLE IF EXISTS admin CREATE TABLE admin adminid int 10 unsigned NOT NULL AUTO INCREMENT aname varchar 45 NOT NULL apass varchar 45 NOT NULL truename varchar 45 CHARACTER SET gbk DEFAULT NULL email varchar 45 DEFAULT NULL PRIMARY KEY adminid ENGINE InnoDB AUTO INCREMENT 3 DEFAULT CHARSET latin1 Table structure for table books DROP TABLE IF EXISTS books CREATE TABLE books bookid int 10 unsigned NOT NULL AUTO INCREMENT cateid int 10 unsigned DEFAULT NULL bookname varchar 100 CHARACTER SET gbk DEFAULT NULL bookdesc text CHARACTER SET gbk unitprice double DEFAULT NULL booksort int 10 unsigned DEFAULT NULL author varchar 50 CHARACTER SET gbk DEFAULT NULL status int 10 unsigned DEFAULT NULL discount double DEFAULT NULL PRIMARY KEY bookid ENGINE InnoDB AUTO INCREMENT 35 DEFAULT CHARSET latin1 Table structure for table category DROP TABLE IF EXISTS category CREATE TABLE category cateid int 10 unsigned NOT NULL AUTO INCREMENT catename varchar 50 CHARACTER SET gbk DEFAULT NULL PRIMARY KEY cateid ENGINE InnoDB AUTO INCREMENT 3 DEFAULT CHARSET latin1 Table structure for table orderdetails DROP TABLE IF EXISTS orderdetails CREATE TABLE orderdetails odid int 10 unsigned NOT NULL AUTO INCREMENT oid int 10 unsigned DEFAULT NULL userid int 10 unsigned DEFAULT NULL bookid int 10 unsigned DEFAULT NULL unitprice double DEFAULT NULL quantity int 10 unsigned DEFAULT NULL discount double DEFAULT NULL PRIMARY KEY odid ENGINE InnoDB AUTO INCREMENT 14 DEFAULT CHARSET latin1 Table structure for table orders DROP TABLE IF EXISTS orders CREATE TABLE orders oid int 10 unsigned NOT NULL AUTO INCREMENT userid int 10 unsigned DEFAULT NULL orderdate datetime DEFAULT NULL address varchar 45 CHARACTER SET gbk DEFAULT NULL username varchar 45 CHARACTER SET gbk DEFAULT NULL mobile varchar 45 DEFAULT NULL status int 10 unsigned NOT NULL DEFAULT 0 PRIMARY KEY oid ENGINE InnoDB AUTO INCREMENT 6 DEFAULT CHARSET latin1 Table structure for table userinfo DROP TABLE IF EXISTS userinfo CREATE TABLE userinfo uid int 10 unsigned NOT NULL AUTO INCREMENT username varchar 45 DEFAULT NULL userpass varchar 45 DEFAULT NULL truename varchar 45 DEFAULT NULL email varchar 45 DEFAULT NULL PRIMARY KEY uid ENGINE InnoDB AUTO INCREMENT 6 DEFAULT CHARSET gbk 5 2 系统系统 DAO 方法方法 用户存放对数据库操作的所有方法用户存放对数据库操作的所有方法 5 2 1 接口类接口类 manage java package com shawn dao import java util List import com shawn object Admin import com shawn object Books import com shawn object Orderdetails import com shawn object Orders import com shawn object Userinfo public interface Manager 图书部分方法 public void addBook Books book public void editBook Books book public void deleteBook Books book public List getBook int start int size public Long getBookCount public List getBookByKey String key int start int size public Long getBookCountByKey String key public List getBookByCateid String cateid int start int size public Long getBookCountByCateid String cateid public Books getBookByBookid Integer wid public List getBookByKeyCateid String key String cateid int start int size public Long getBookCountByKeyCateid String cateid String key 会员部分方法 public void addUser Userinfo user public void deleteUser Userinfo user public void editUser Userinfo user public List getUser public List getUserByKey String key public Userinfo getUserByUid Integer uid public Userinfo userlogin String u String p 订单部分方法 public void deleteOrder Orders order public void editOrder Orders order public void addOrder Orders o List ods public List getOrders public List getOrdersByUsername String username public List getOrdersByOid String oid public List getOrdersByStatus String status public List getOrdersByUsernameStatus String username String status public List getOrderByUid Integer uid public Orders getOrderByOid Integer Oid 订单详情部分方法 public void deleteOrderDetail Orderdetails orderdetail public List getOrderdetailsByOid Integer oid 登录部分方法 public void editAdmin Admin admin public Admin adminlogin String u String p 5 2 2 方法实现类 方法实现类 DAO java package com shawn dao import java util List import org hibernate Query import org hibernate Session import com shawn HibernateSessionFactory import com shawn object public class DAO implements Manager 图书部分方法 添加图书对象 public void addBook Books book Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s save book mit HibernateSessionFactory closeSession 删除图书对象 public void deleteBook Books book Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s delete book mit HibernateSessionFactory closeSession 编辑图书对象 public void editBook Books book Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s update book mit 分页检索 获取全部图书 public List getBook int start int size Query q HibernateSessionFactory getSession createQuery from Books order by booksort desc q setFirstResult start q setMaxResults size return q list 获取全部图书的数量 public Long getBookCount Query q HibernateSessionFactory getSession createQuery select count bookid from Books return Long q uniqueResult 分页检索 按书名模糊搜索图书 public List getBookByKey String key int start int size String hql from Books where bookname like key order by booksort desc Query q HibernateSessionFactory getSession createQuery hql q setFirstResult start q setMaxResults size return q list 获取相关书名的图书数量 public Long getBookCountByKey String key Query q HibernateSessionFactory getSession createQuery select count bookid from Books where bookname like order by booksort desc q setString 0 key return Long q uniqueResult 按图书类别 ID 模糊搜索图书 public List getBookByCateid String cateid int start int size String hql from Books where cateid cateid order by booksort desc Query q HibernateSessionFactory getSession createQuery hql q setFirstResult start q setMaxResults size return q list 获取相关类别图书的数量 public Long getBookCountByCateid String cateid Query q HibernateSessionFactory getSession createQuery select count bookid from Books where cateid like order by booksort desc q setString 0 cateid return Long q uniqueResult 按书名和类别 ID 模糊搜索图书 public List getBookByKeyCateid String key String cateid int start int size String hql from Books where bookname like key and cateid cateid order by booksort desc Query q HibernateSessionFactory getSession createQuery hql q setFirstResult start q setMaxResults size return q list public Long getBookCountByKeyCateid String cateid String key Query q HibernateSessionFactory getSession createQuery select count bookid from Books where cateid like and bookname like order by booksort desc q setString 0 cateid q setString 1 key return Long q uniqueResult 按图书 ID 获取图书对象 public Books getBookByBookid Integer wid return Books com shawn HibernateSessionFactory getSession createQuery from Books where bookid wid uniqueResult 会员部分方法 添加会员对象 public void addUser Userinfo user Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s save user mit HibernateSessionFactory closeSession 删除会员对象 public void deleteUser Userinfo user Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s delete user mit HibernateSessionFactory closeSession 编辑会员对象 public void editUser Userinfo user Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s update user mit 分页检索 获取全部会员对象 public List getUser return com shawn HibernateSessionFactory getSession createQuery from Userinfo order by username desc list 分页检索 根据会员名模糊搜索 public List getUserByKey String key return com shawn HibernateSessionFactory getSession createQuery from Userinfo where username like key order by username desc list 根据会员 ID 获取会员对象 public Userinfo getUserByUid Integer uid return Userinfo com shawn HibernateSessionFactory getSession createQuery from Userinfo where uid uid uniqueResult 订单部分方法 添加订单对象 public void addOrder Orders o List ods 添加订单和订单明细 Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s save o for Orderdetails od ods od setOid o getOid s save od mit HibernateSessionFactory closeSession 删除订单对象 public void deleteOrder Orders order Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s delete order mit HibernateSessionFactory closeSession 编辑订单对象 public void editOrder Orders order Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s update order mit 分页检索 获取全部订单 public List getOrders return com shawn HibernateSessionFactory getSession createQuery from Orders order by orderdate desc list 分页检索 根据会员名相关订单模糊检索 public List getOrdersByUsername String username return com shawn HibernateSessionFactory getSession createQuery from Orders where username username list 根据订单 ID 获取订单 public List getOrdersByOid String oid return com shawn HibernateSessionFactory getSession createQuery from Orders where oid oid list 分页检索 根据订单状态获取订单 public List getOrdersByStatus String status return com shawn HibernateSessionFactory getSession createQuery from Orders where status status list 分页检索 根据会员名和订单状态获取订单 public List getOrdersByUsernameStatus String username String status return com shawn HibernateSessionFactory getSession createQuery from Orders where username username and status status list 根据订单用户名获取相关订单 public List getOrderByUid Integer uid return com shawn HibernateSessionFactory getSession createQuery from Orders where userid uid order by orderdate desc list public Orders getOrderByOid Integer oid return Orders com shawn HibernateSessionFactory getSession createQuery from Orders where oid oid uniqueResult public void deleteOrderDetail Orderdetails orderdetail Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s delete orderdetail mit HibernateSessionFactory closeSession public List getOrderdetailsByOid Integer oid return com shawn HibernateSessionFactory getSession createQuery from Orderdetails where oid oid list public void editAdmin Admin admin Session s com shawn HibernateSessionFactory getSession org hibernate Transaction tx s beginTransaction s update admin mit public Userinfo userlogin String u String p Query q HibernateSessionFactory getSession createQuery from com shawn object Userinfo where username and userpass q setString 0 u q setString 1 p return Userinfo q uniqueResult public Admin adminlogin String u String p Query q HibernateSessionFactory getSession createQuery from com shawn object Admin where aname and apass q setString 0 u q setString 1 p return Admin q uniqueResult 5 2 3 控制层方法控制层方法 5 2 3 1 管理员相关控制方法 管理员相关控制方法 AdminServlet java package com shawn servlet import java io IOException import java io PrintWriter import javax servlet ServletException import javax servlet http HttpServlet import javax servlet http HttpServletRequest import javax servlet http HttpServletResponse import com shawn dao DAO import com shawn dao Manager import com shawn object Admin import com shawn object Userinfo public class AdminServlet extends HttpServlet Manager m new DAO public void doGet HttpServletRequest request HttpServletResponse response throws ServletException IOException String action request getParameter action if main equals action this doMain request response else if edit equalsIgnoreCase action this doEditAdmin request response else if update equalsIgnoreCase action this doUpdate request response else if deleteuser equalsIgnoreCase action this doDeleteUser request response else if userlist equalsIgnoreCase action this doUserList request response else if exit equalsIgnoreCase action this doExit request response 切换用户 并清空session中的admin对象已经其他变量 private void doExit HttpServletRequest request HttpServletResponse response throws ServletException IOException request getRequestDispatcher WEB INF jsp admin exit jsp forward request response 管理员后台管理 用户管理 以表格形式显示所有用户并且可以根据用户名模糊搜索 private void doUserList HttpServletRequest request HttpServletResponse response throws ServletException IOException String key request getParameter key if equals key request setAttribute users m getUser else if key null request setAttribute users m getUserByKey key else request setAttribute users m getUser request getRequestDispatcher WEB INF jsp admin UserList jsp forward request response 删除会员 private void doDeleteUser HttpServletRequest request HttpServletResponse response throws ServletException IOException 获取表单中要删除的会员的会员编号uid String uid request getParameter uid Integer id Integer parseInt uid 根据会员编号获得该用户 Userinfo user m getUserByUid id 删除该用户 m deleteUser user request getRequestDispatcher WEB INF jsp admin DeleteUser jsp forward request response 显示管理员的个人信息 以便编辑修改 private void doEditAdmin HttpServletRequest request HttpServletResponse response throws ServletException IOException request getRequestDispatcher WEB INF jsp admin EditAdmin jsp forward request response 对修改后管理员的个人信息保存到数据库 private void doUpdate HttpServletRequest request HttpServletResponse response throws ServletException IOException Admin admin Admin request getSession getAttribute admin if admin null 获得管理员信息修改表单中的信息 String adminname request getParameter uname String adminpass request getParameter upass String truename request getParameter truename String email request getParameter email 对admin对象的属性域进行更新 admin setAname adminname admin setApass adminpass admin setEmail email admin setTruename truename m editAdmin admin request getRequestDispatcher WEB INF jsp admin EditAdmin jsp forward request response javax swing JOptionPane showMessageDialog null 修改成功 登录成功后跳转到服务页面main private void doMain HttpServletRequest request HttpServletResponse response throws ServletException IOException request getRequestDispatcher WEB INF jsp admin main jsp forward request response public void doPost HttpServletRequest request HttpServletResponse response throws ServletException IOException this doGet request response 5 2 3 2 图书相关控制方法 图书相关控制方法 BookServlet java package com shawn servlet import java io IOException import java io PrintWriter import java util List import javax servlet ServletException import javax servlet http HttpServlet import javax servlet http HttpServletRequest import javax servlet http HttpServletResponse import com shawn dao Pageinfo import com shawn dao DAO import com shawn dao Manager import com shawn object Books import com shawn object Userinfo public class BookServlet extends HttpServlet Manager m new DAO public void doGet HttpServletRequest request HttpServletResponse response throws ServletException IOException String action request getParameter action if list equals action this doList request response else if display equals action this doDisplay request response else if adminlist equals action this doAdminList request response else if edit equals action this doEdit request response else if update equals action this doUpdate request response else if delete equals action this doDeleteBook request response else if addbook equals action this doAddBook request response else if addbookmessage equalsIgnoreCase action this addBookMessage request response else System out println error 根据图书编号删除图书 private void doDeleteBook HttpServletRequest request HttpServletResponse response throws ServletExcep
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 样板钳工道德能力考核试卷含答案
- 2026年幂的经典测试题及答案
- 储能电站故障报修处理方案
- 储能电站孤岛保护方案
- 石英玻璃熔制工安全文明强化考核试卷含答案
- 储能电站并网滤波器配置方案
- 碳排放咨询员岗前安全管理考核试卷含答案
- 充电桩运行统计方案
- 营养师安全教育竞赛考核试卷含答案
- 天然砂石骨料生产工风险评估能力考核试卷含答案
- 银行业金融机构监管数据标准化规范(2021版)数据结构一览表
- 商品七大异常状态及处理
- 金属矿床开采新技术技术
- FBCDZ系列通风机为对旋式防爆主要通风机
- GB/T 37669-2019自动导引车(AGV)在危险生产环境应用的安全规范
- 第四章 AP1000反应堆结构设计(杜圣华)
- 几起重大工程质量安全事故原因
- 设备供货安装方案(通用版)
- 中考物理题型二《开放、推理类题》
- 第二节 金属的腐蚀和防护PPT课件
- 2011年天津市高考物理试卷
评论
0/150
提交评论