茶小福会员信息管理系统
1.项目基本情况
1.1系统功能描述
项目的功能包括饮品信息,会员信息以及订单信息。
(1)饮品奶茶菜单信息主要有添加、修改和删除饮品信息,根据饮品编号等属性查询饮品信息等。
(2)会员信息主要有添加会员信息,修改和删除会员信息,刷新数据,根据会员编号等查询会员订单信息。
(3)订单信息主要有添加订单信息,修改和删除订单信息,根据订单编号查询订单信息。
2.数据库表
2.1基本表
项目使用mysql来建立数据库表,利用SQLyog可视化工具可以查看表结构信息,数据库用户为root,密码为0000,该数据库中中有三张表,分别为奶茶菜单信息表(如表1所示)、会员信息表(如表2所示)、订单信息表(如表3所示)。
表1 奶茶菜单信息表drink
列名 | 数据类型 | 长度 | 允许空 |
drink_no | Int | 11 | 否 |
Drink_name | Varchar | 25 | 否 |
drink_detail | varchar | 100 | |
drink_price | int | 11 | 否 |
表2会员信息表member
列名 | 数据类型 | 长度 | 允许空 |
member_id | int | 11 | 否 |
password | varchar | 6 | 否 |
member_name | varchar | 10 | 否 |
sex | varchar | 2 | |
phone | varchar | 11 | 否 |
member_sum | int | 11 | 否 |
表3 订单信息表orderd
列名 | 数据类型 | 长度 | 允许空 |
order_no | int | 11 | 否 |
order_mid | int | 11 | 否 |
order_dno | varchar | 25 | 否 |
order_mony | int | 11 | 否 |
order_time | varchar | 8 | |
order_notes | varchar | 10 |
3.程序结构的截图
项目使用mybatis+mysql等技术实现了茶小福会员信息管理系统,我们首先利用使用mysql来建立数据库表,用SQLyog可视化工具可查看数据库表,然后用Idea开发工具创建了一个工程,项目源包结构图如图1所示,在src包下面创建了五个包,分别如图所示。
JSP是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。主要用于实现Java web应用程序的用户界面部分。JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
图1 源包结构图
4.包关系说明
4.1 Mybatis(数据访问层)
(1)Mybatis(数据访问层)数据持久化的框架,实现数据的存储和操作。
1)在src目录下,创建了一个com.ysw.po包,在该包下创建了持久化类,并在类中声明各属性字段,及其对应的getter/setter方法。它与普通的JavaBean没有什么区别,只是其属性字段与数据库中的表字段相对应。Mybatis采用POJO作为持久化类来完成对数据库的操作,如图2所示。
图2 持久化层
2)在src目录下,创建了一个com.ysw.Do包,并在包中创建映射文件和接口文件,相当于数据操作层。如图3所示。
图3 数据操作层
4.2业务逻辑层(服务层)
在src目录下,创建了一个com.ysw.service包,接收来自表示层的数据请求,逻辑判断后,向数据访问层提交请求,并传递数据访问结果,业务逻辑层实际上是一个中间件,起着承上启下的重要作用。如图4所示。
图4 业务逻辑层
4.3 SpringMVC、Spring(控制层)
负责界面和交互。主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。位于最外层,最接近于用户,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。如图5所示。
图5 控制层
5.框架的核心配置文件
在mybatis中创建了sqlMapConfig.xml,由于使用spring和mybatis的整合包进行mapper扫描,所以不需要配置。
在spring包下面创建了applicationContext-dao.xml文件,主要是加载外部的properties配置文件(引入jdbc的配置文件)、配置数据库连接池、配置MapperScannerConfigurer;还创建了applicationContext-transaction.xml文件,主要是对mybatis操作数据库事务的控制以及spring使用jdbc的事务控制,并且以通知的方式管理事务,最后创建了applicationContext-service.xml
文件,设定Spring 去哪些包中找Annotation。在springmvc.xml配置文件中创建了控制器对象。如图6所示。
图6 核心配置文件
当启动tomcat时,容器找到配置文件web.xml,接着读取<context-param></context-param>,然后创建springmvc前端控制器,接着读取<filter></filter>,根据指定的类路径来实例化过滤器。如图7所示。
图7 web.xml配置文件
6.视图层文件说明
视图(View):用来将模型的内容展现给用户。视图层,就是UI界面,用于跟用户进行交互。一般所有的JSP、Html等页面就是View层。用户可以通过视图来请求模型进行更新。视图从模型获得要展示的数据,然后用自己的方式展示给用户,相当于提供页面来与用户进行人机交互。例如,用户在页面上操作或者填写完成后,会单击提交按钮或是以其他触发事件的方式,来向控制器发出请求。它一方面为用户提供了交互的工具,另一方面也为显示和提交数据实现了一定的逻辑(页面展示和各种交互包括提交)。
具体实现jsp文件如图8所示:
图8 drink member orderd界面
7.数据层文件(详细代码)
数据存储层
public class Member {
private int member_id;
private String password;
private String member_name;
public void setOrderd(Orderd orderd) {
this.orderd = orderd;
}
public int getDrink_no() {
return drink_no;
}
public void setDrink_no(int drink_no) {
this.drink_no = drink_no;
}
public String getDrink_name() {
return drink_name;
}
public void setDrink_name(String drink_name) {
this.drink_name = drink_name;
}
数据操作层
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ysw.Dao.MemberDao">
<!-- 模糊查询-->
<select id="getMemberLike" resultType="Member">
select * from milktea.member where member_name like #{value};
</select>
<!-- 查所有-->
<select id="selectMembers" resultType="Member">
select * from milktea.member;
</select>
<!-- 按号查-->
<select id="getMemberById" parameterType="int" resultType="Member">
select * from milktea.member where member_id = #{member_id};
</select>
<!-- 增-->
<insert id="addMember" parameterType="Member">
insert into milktea.member(member_id, password, member_name, sex, phone, member_sum) VALUES (#{member_id},#{password},#{member_name},#{sex},#{phone},#{member_sum});
</insert>
<!-- 条件查询-->
//跳转到修改页面
@RequestMapping("/toUpdateDrink")
}
9.运行结果
9.1登录页面
启动tomcat服务器,输入登录名“王磊”,密码“12423”,点击登录,用户可以进入到主页面。当输入的密码错误时,提示“密码错误”。当输入的账户错误时,提示“该用户未注册”,注册之后用户即可用刚注册的登录。登录界面如图9所示。
图9 登录界面
9.2主页面
用户登录成功后,即可进入到主页面,主页面中有以下功能:会员信息管理、饮品信息管理、订单信息管理。主页面如图10所示。
图10 主页面
9.3会员信息管理
会员信息管理主要有添加会员信息,修改和删除会员信息,根据会员编号查询会员订单信息。其包含会员编号,登录密码,姓名,性别,电话,和余额。
(1)添加会员信息
添加会员信息,并提交,如图11所示。
图11 添加会员信息
(2)修改会员信息
修改会员信息,并提交,如图12所示。
图12 修改会员信息
- 删除会员信息。
如图13所示。
图13 删除会员信息
9.4饮品信息管理
饮品信息管理主要有添加饮品信息,修改和删除饮品信息,刷新数据,根据饮品编号查询饮品信息。其包含饮品编号,饮品名称,饮品介绍,饮品价格等。
(1)添加饮品信息
添加饮品信息,并提交,如图14所示。
图14 添加饮品信息
(2)修改饮品信息
修改饮品信息,并提交,如图15所示。
图15 修改饮品信息
- 删除饮品信息。
如图16所示。
图16 删除饮品信息
9.5订单信息管理
订单信息管理主要有添加订单信息,修改和删除订单信息,刷新数据,根据订单编号查询订单信息。其包含订单编号,会员ID,饮品编号,饮品价格,订单时间,订单备注等。
(1)添加订单信息
添加订单信息,并提交,如图17所示。
图17 添加订单信息
(2)修改订单信息
修改订单信息,并提交,如图18所示。
图18 修改订单信息
- 删除订单信息。
如图19所示。
图19 删除订单信息