收藏 分享(赏)

数据库信息管理系统-JAVA实现.doc

上传人:精品资料 文档编号:10618574 上传时间:2019-12-07 格式:DOC 页数:23 大小:479KB
下载 相关 举报
数据库信息管理系统-JAVA实现.doc_第1页
第1页 / 共23页
数据库信息管理系统-JAVA实现.doc_第2页
第2页 / 共23页
数据库信息管理系统-JAVA实现.doc_第3页
第3页 / 共23页
数据库信息管理系统-JAVA实现.doc_第4页
第4页 / 共23页
数据库信息管理系统-JAVA实现.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、院 系 专业学生姓名 学号课程名称 数据库原理与设计方法授课时间 周学时 学分简要评语考核论题 图书管理信息数据库系统设计总评成绩( 含 平 时 成 绩 )备注任课教师签名: 日期: 注:1. 以论文或大作业为考核方式的课程必须填此表,综合考试可不填。 “简要评语”栏缺填无效。2. 任课教师填写后与试卷一起送院系研究生秘书处。3. 学位课总评成绩以百分制计分。2图书管理信息数据库系统-JAVA 实现目录一、需求说明 31、 任务概述 32、 需求分析 32.1 功能需求 32.2、数据描述 .32.2.1 静态数据 .32.2.2 动态数据 .32.2.3 数据库介绍 .33、系统功能概要图

2、44、运行环境 4二、 数据库的设计 41、 数据库设计的关系模型 42、 创建数据库的语句 53、 给数据库中插记录的相关语句 64、 数据字典 65、 ER 图 .8三、开发方案介绍 9四、 应用系统设计 10附录 183一、需求说明1、任务概述满足在线书店管理的需求,实现管理流程。主要功能包括用户注册、用户登录、购物商场、在线购物、订单管理、系统导航、用户退出、权限控制等。2、需求分析2.1 功能需求在线书店系统作为一个网络购物网站,它仿照淘宝网等知名购物网站,其总体要求即实现购物网站的基本功能。具体功能要求如下:1) 商品管理。这是管理员的功能。要实现增删改查图书、仓库管理的功能。2)

3、 用户管理。包括用户注册、用户登录和用户退出三个方面,用户还可以更改部分注册信息。用户登录成功后,在首页面可看到书籍展示。3) 购物车管理。可以修改、删除选购书籍,并保存购物列表。当用户退出时或 session 失效时,自动保存用户购物车列表书籍。4) 订单管理。要实现生成订单,删除、修改、查询订单,提交订单。提交后的订单,只能查看订单信息,不能进行修改,也不能删除。5) 权限控制。主页面和注册页面任何人都可以访问,其他页面,只有已经登录成功的用户才可访问;若用户还没有登录系统,则返回到登录页面。2.2、数据描述2.2.1 静态数据用户类型、权限类型、管理员等。2.2.2 动态数据新用户的注册

4、、新书的录入、购书的信息、生成订单等等。2.2.3 数据库介绍数据库名称为 shop,有八个表,分别为管理员表(Admin) 、用户注册表(User) 、图书信息登记表(Book) 、图书上架信息登记表(Storage)、购物车图书列表(Shopcar),用户购买书籍的订单表(Order)、订单明细表(OrderBook)、购物车表(CartItem) 。43、系统功能概要图4、运行环境操作系统:windows xp数据库:MySql 数据库程序环境:MyEclipse 6.52、数据库的设计1、数据库设计的关系模型Admin(id,name,password);User(id,name,pa

5、ssword,sex,age,address,postcard,telephone,);Book(id,name,author,publisher,price);Order(id,onDate,amount,total,postAddress,postcard,telephone,contact,userId,state);OrderBook(id,orderId,bookId,price,amount);Storage(id,bookId,amount,inDate);CartItem(id,bookId,amount);ShopCart(id,userId,bookId);登录界面用户类型

6、选择管理员登录 一般用户登录个人信息更改密码查看图书添加图书查看库存图书入库安全退出个人信息更改密码浏览图书查看购物车我的订单52、创建数据库的语句MySQL connect shop;已连接。- 用户表create table users(id int auto_increment primary key,name varchar(20),passwd varchar(20),sex varchar(2),age int,address varchar(50),postcode varchar(6),phone varchar(15),adm int);- 图书表 CREATE table

7、books(id int auto_increment primary key,name varchar(40),author varchar(20),publisher varchar(30),price numeric(6,2);- 购物车表create table storages(id int auto_increment primary key,bookId int,amount int,inDate date);- 订单表create table Order(id int primary key auto_increment, - 主键onDate date , - 下单日期amo

8、unt int not null default 1, - 购书总数total double not null default 0, - 总金额6postAddress varchar(50) not null default , - 邮寄地址postcard varchar(10) not null default , - 邮编telephone varchar(20) not null default , - 联系电话contact varchar(10) not null default , - 联系人userid int, - 采购人state int not null default

9、 1 - 订单状态(1:初步订单 2:订单已提交));- 订单明细表create table OrderBook(id int primary key auto_increment, - 主键orderid int, - 订单编号bookid int, - 图书编号price double not null default 0, - 单价amount int not null default 1 - 订购数量3、给数据库中插记录的相关语句- 在用户表中插入数据insert into users(name,passwd,adm) values(tom,123,0);insert into use

10、rs(name,passwd,adm) values(admin,admin,1);注:其他数据在实际操作中插入。4、数据字典Admin 表:字段名 字段说明 类型 id 主键 Integer name 用户名称 Varchar password 密码 Varchar User 表:字段名 字段说明 类型 id 主键 Integer name 用户名称 Varchar password 密码 Varchar 7sex 性别 Varchar age 年龄 Integeraddress 住址 Varchar postcard 邮编 Varchar telephone 电话 Varchar Book

11、 表:字段名 字段说明 类型 id 主键 Integer name 书名 Varchar author 作者 Varchar publisher 出版社 Varchar price 价格 DoubleOrder 表:字段名 字段说明 类型 id 主键 Integer onDate 下单日期 Varcharamount 购书总数 Integertotal 总金额 IntegerpostAddress 邮寄地址 Varcharpostcard 邮编 Varchartelephone 联系电话 Varchar contact 联系人 Varchar userId 采购人 Varchar state

12、状态 ByteOrderBook 表:字段名 字段说明 类型 id 主键 Integer orderId 订单编号 Integer8bookId 图书编号 Integer price 单价 Double amount 订购数量 Integer Storage 表:字段名 字段说明 类型 id 主键 Integer bookId 图书 Varchar amount 数量 Integer inDate 上货时间 Varchar CartItem 表:字段名 字段说明 类型 id 主键 Integer bookId 图书编号 IntegerAmount 购书总数 Integer ShopCart 表

13、:字段名 字段说明 类型 id 主键 Integer userId 用户编号 Varchar bookId 图书编号 Integer 5、ER 图9三、开发方案介绍由于该软件使用于在线图书管理模块,实现的功能如下:用户注册任何人都可注册为站点用户,注册成功后,注册信息要保存到数据库;注册成后,要重新显示用户注册的信息用户登陆系统成功后,除用户名外,可随意修改其他注册信息。用户登陆提供用户登陆的入口登陆成功后,可进入在线商场,选购物品。购物商场购物商场中的书籍,由库官员维护,库官员可以为商场添加要销售的书籍,也可以删除正在销售的书籍;- 商场中只能给用户展示库存中存在的书籍在线购物在线购物任何用

14、户都可在商场查阅书籍,并浏览其详细信息任何用户都可在商场中选购书籍后,存放在用户的购物车中;用户也可以根据书名、作者、出版社搜索书籍,若存在,也可选购;用户可以管理自己购物车中的书籍,可以删除某些已经选购的书籍;用户每次登陆系统后,都可查看购物车列表中的信息,并对其进行管理。订单管理用户可以从自己的购物车中选择某些书籍,初步形成订单,订单中要注明购买的书籍列表、用户具体10联系信息、费用等相关信息,并保存到数据库;订单初步形成后,应该从购物车中销毁订单中的书籍;用户随时都可查阅订单的信息,也可对订单中的联系信息进行修改,也可删除订单;用户也可对初步订单进行提交,提交后的订单,只能查看订单信息,

15、不能进行修改,也不能删除。系统导航用户在线购物时,随时可以通过导航栏查看相关信息,比如“登陆信息” 、 “在线购物” 、 “购物车”等导航用户退出若用户购物完毕,可以点击“退出”链接,退出商场,要在内存中清空用户身份标识,并返回到登陆页面 login.jsp权限控制login.jsp,任何用户都可以访问其他页面,只有已经登陆系统的用户才可访问;若用户还没有登陆系统,则返回到登陆页面。本系统是小型的方便运行的软件,界面应简单明了,适合普通用户和管理员操作。通过不同的账户口令可登陆类型不同的软件界面,对图书以及个人信息进行一系列的操作,并通过密码机制来实现高级权限的管理员对后台数据的添加、修改、删

16、除等操作。后台连接的数据库为 MySql;当前台数据经过变动之后可实现提交保存。我们前台的界面是通过 jsp 来实现的,不否认界面做得确实不是很漂亮。4、应用系统设计1、我们将整个系统分成了如下几个模块。最初是个登录界面,如图 1 所示。图 1 进入系统的密码登录框有两种选择,可以以管理员登录,可以以一般用户登录,但是一般用户登录前需要先注册,只有注册成功后才可以登录。2、在用户名和密码都正确的情况下我们将进入在线书店管理系统的主界面,分为管理员界面和一般用户界面,如下图 2,图 3 所示。11图 2 管理员登录图 3 一般用户登录 1) 点击图 2 界面的登录按钮进入管理员界面。在这里我们提

17、供了管理员查看图书(图 4) 、添加图书(图 5) 、查看库存(图 6) 、图书入库(图 7) 、修改图书功能(图 8) 。a 在进入这个页面后,管理员可以查看现有的图书,可以点击修改按钮,进行相应图书信息的修改。图 4 管理员查看图书b在这个页面中,管理员可以添加图书以及图书的一些相关信息,比如书名、作者、出版社、价格等信息,点击保存后,新的图书将保持到数据库中。12图 5 管理员添加图书c在这个页面,管理员可以查看现有的库存,可以查看图书的书名、库存总数、入库时间等相关信息。图 6 管理员查看库存d在图书入库这个功能模块中,管理员可以将新的图书添加到图书的库存中。需要填图书的数量和上架时间

18、。图 7 图书入库e管理员可以根据实际需要,对图书信息进行相关的修改,比如作者、出版社、价格等。13图 8 管理员可以修改图书信息2) 点击图 3 界面的登录按钮进入一般用户登录界面。在这里我们提供了浏览图书(图 9) 、查看购物车(图 10) 、我的订单功能(图 11) 。a在进入一般用户的界面后,用户可以看看这个网上书店有些什么书,便于用户选择,该模块还提供了购买功能,可以选择放到购物车这个按钮。先将图书放到购物车。图 9 浏览图书b进入查看购物车,可以查看用户刚刚购买的图书,这时用户可以选择移出购物车,放弃刚才购买的图书,也可以选择进入结算中心,看看刚才购买的图书的相关信息,包括价格等等

19、。图 10-1 查看购物车c用户可以选择将图书移出购物车。14图 10-2 用户将图书移出购物车d用户进入结算中心后,可以查看刚刚购买图书的一些购买信息,并给用户算出了价格和购买数量,并且列出了订单的详细信息,这时候用户可以填写订单信息,从而生成订单。图 10-3 进入结算中心后e点击生成订单后,就显示出刚刚生成的订单的详细信息,包括提交订单、详细信息、修改和删除功能。像第二行,就是点击提交订单后就变成了已提交。提交以后只能查看详细信息,而未提交以前可以提交、修改、删除。图 10-4 已生成订单的详细信息f详细信息展示:15g修改相关的信息,当点击修改按钮时,会提示确认修改么,目的是为了避免用

20、户的误操作。点击确认后,可以对刚才生成的详细信息进行修改,点击修改订单,可以生成新的订单信息。16h当删除时,同样会有提示,也是为了避免用户的误操作:当点击确认后,图书将从订单中删除:i 用户可以查看自己的订单:1718附录本设计选用了 java 语言完成,由于程序代码较多,故在此处选择主要代码进行展示如下。1、/ 用户注册import com.ShopException;import com.dao.UserDAO;import com.model.User;public class UserService private UserDAO userDAO = new UserDAO();pu

21、blic void reg(User u) User u2 = userDAO.findByName(u.getName();if (u2 != null) throw new ShopException(“用户名已存在“); userDAO.add(u);public User login(User user) User user2 = userDAO.findByName(user.getName();if (user2 = null) throw new ShopException(“用户名不存在“); if (user.getPasswd() != null return user2;

22、public void updateUser(User user) userDAO.update(user);public void changePasswd(int id, String passwd) userDAO.updatePasswd(id, passwd);2、/ 管理员添加图书、查看图书列表、查看库存package com.service;import java.util.List;import com.ShopException;19import com.dao.BookDAO;import com.dao.StorgeDAO;import com.model.Book;im

23、port com.model.Storage;public class AdminService private BookDAO bookDAO = new BookDAO();private StorgeDAO storgeDAO = new StorgeDAO();/ 单例模式private AdminService() private static AdminService adminService;public static AdminService getInstance() if (adminService = null) adminService = new AdminServi

24、ce();return adminService;public void addBook(Book book) if (bookDAO.findByName(book.getName() != null)throw new ShopException(“图书已存在“);bookDAO.add(book);public List listBook() List list = bookDAO.list();System.out.println(list.size();return list;public Book getBook(int id) return bookDAO.findById(id

25、);public void updateBook(Book book) 20bookDAO.update(book);public void addStorage(Storage s) Storage s2 = storgeDAO.findByBookId(s.getBookId();if (s2 = null)storgeDAO.add(s);else s2.setAmount(s2.getAmount() + s.getAmount();storgeDAO.update(s2);public List listStorage() List list = storgeDAO.list();f

26、or (Storage s : list) s.setBook(bookDAO.findById(s.getBookId();return list;3、/ 消费者:提交、修改、删除订单import java.util.List;import com.dao.BookDAO;import com.dao.OrderBookDAO;import com.dao.OrderDAO;import com.dao.StorgeDAO;import com.model.Book;import com.model.CartItem;import com.model.Order;import com.mod

27、el.OrderBook;import com.model.ShopCart;import com.model.Storage;public class CustomerService private StorgeDAO storgeDAO = new StorgeDAO();private BookDAO bookDAO = new BookDAO();private OrderDAO orderDAO=new OrderDAO();21private OrderBookDAO obookDAO=new OrderBookDAO();public List listStores() retu

28、rn storgeDAO.findBookInStore();public Book findBookById(int id) return bookDAO.findById(id);public void viewCart(ShopCart cart) for (CartItem m : cart.getItems().values() if (m.getBook() = null) Book book = bookDAO.findById(m.getBookId();m.setBook(book);public void generateOrder(Order order,List obo

29、oks)/保存orderorderDAO.add(order);/保存orderBook的列表for(OrderBook obook:obooks)obook.setOrderid(order.getId(); /只有order 保存过以后才会成生idobookDAO.add(obook);public List listOrderByUser(int userid)return orderDAO.findByUser(userid);public Order findOrderById(int id) return orderDAO.findById(id);/修改和提交订单都可调用此方法p

30、ublic void updateOrder(Order order)orderDAO.update(order);22public void deleteOrder(int orderid)/删除订单中所有的订单列表orderbookobookDAO.delete(orderid);/删除订单orderDAO.delete(orderid);public List findOrderBookByOrder(int orderid)return obookDAO.findByOrder(orderid);4、/ 操作数据库:添加图书、查找图书、更新图书信息代码import java.util.

31、List;import com.model.Book;public class BookDAO private RowParser bookParser = new BookParser();public void add(Book book) String sql = “insert into books(name,author,publisher,price) values(?,?,?,?)“;int key = DBUtil.updateWithAutoGen(sql, book.getName(), book.getAuthor(), book.getPublisher(), book

32、.getPrice();book.setId(key);public Book findByName(String name) String sql = “select id,name,author,publisher,price from books where name=?“;return (Book) DBUtil.unique(sql, bookParser, name);public List list() String sql = “select id,name,author,publisher,price from books order by id desc“;return D

33、BUtil.query(sql, bookParser);23public Book findById(int id) String sql = “select id,name,author,publisher,price from books where id=?“;return (Book) DBUtil.unique(sql, bookParser, id);public void update(Book book) String sql = “update books set name=?,author=?,publisher=?,price=? where id=?“;DBUtil.update(sql, book.getName(), book.getAuthor(), book.getPublisher(), book.getPrice(), book.getId();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报