基于Spring MVC + Spring + MyBatis的【超市会员管理系统】

本文档介绍了一个基于Spring MVC、Spring和MyBatis的超市会员管理系统,详细阐述了系统的语言环境、实现功能、数据库设计和具体实现步骤。系统功能包括会员信息按登记时间降序排列、性别转换、鼠标悬停高亮、搜索、添加会员等功能。同时,提供了数据库设计、JSP页面代码和JAVA代码的目录结构,涵盖了从数据库建表到SSM框架的配置和实现过程。
摘要由CSDN通过智能技术生成

资源下载:
https://download.csdn.net/download/weixin_44893902/22035329

一、 语言和环境

  1. 实现语言:JAVA语言。

  2. 使用:MyEclipse/Eclipse + Tomcat + MySql。

  3. 使用技术:Jsp+Servlet+JavaBean 或SpringMVC + Spring + Mybatis。

二、 实现功能

随着信息化时代系统管理的普及,城市中各个每一个超市的会员管理也需要与时俱进,将超市的会员管理进行信息化登记和跟踪,开发一套BS结构的超市会员管理系统,主要功能如下:

  1. 首页默认显示所有已登记的会员信息,并且按“登记时间”降序排列,如图1所示。

(1)按登记时间降序排列。

(2)性别要求显示为“男”或“女”,不能为数据库表中的1和0显示。

(3)当鼠标移动到对应行时,需将对应行背景颜色高亮显示。

(4)底部左侧显示共XXX个会员。

(5)点击左侧的“搜索”按钮,通过姓名搜索,下方表格则显示对应搜索出来的会员信息。

(6)点击右侧“添加会员”则跳转到添加页面。

图1 首页显示所有登记会员信息

  1. 点击“添加会员”按钮,跳转至会员登记界面,如图2所示。

(1)姓名、出生日期不能为空。

(2)会员卡号后台按规则自动生成。

(3)会员性别在后台用1表示男,0表示女。

(4)会员等级默认为四级。

(5)会员积分默认为200分。

(6)会员登记时间为添加会员时间。

[图2 新增会员信息界面(img-qxHw9c7l-1630313966663)(file:///C:UsersADMINI~1AppDataLocalTempksohtml18292wps8.jpg)]

  1. 用户输入会员基本信息后,点击“添加会员”按钮,要求对表单进行非空验证,其中包括姓名、出生日期,都必须填入信息后才能提交,如图3所示。

图3 提交录入提示信息述

  1. 输入完整信息提交以后,要求自动跳转至列表界面,此时列表界面显示新增的人员信息(按登记时间降序排列,应该在第一条),如图4所示。

在这里插入图片描述

  1. 用户点击“列表”界面中的删除超链接,弹出提示“您确认删除该人员登记信息?”点击确定后执行删除操作,然后列表进行自动刷新,如图5所示。
    在这里插入图片描述

三、 数据库设计

  1. 创建数据库(member_db)。

  2. 创建数据表(tb_member_info),结构如下。

字段名

说明

字段类型

长度

备注

id

编号

int

主键,自增,增量为1

card_no

卡号

varchar

50

不能为空

name

姓名

varchar

50

不能为空

sex

性别

int

不能为空,1和0,1代表男,0代表女

birthday

出生日期

date

不能为空

grade

会员等级

varchar

20

不能为空

integral

会员积分

int

不能为空,默认200

Write_time

登记日期

datetime

登记日期,录入时自动获取当前时间

四、 具体要求及推荐实现步骤

1.JSP版本的实现步骤如下:

(1)按以上数据库要求建库、建表,并添加测试数据(不少于5条,测试数据不需要和上图一致)。

(2)创建Web工程并创建各个包,导入工程所需的jar文件。

(3)创建MemberInfo实体类。

(4)创建Servlet获取用户不同的请求,并将这些请求转发至业务处理层相应的业务方法。

(5)创建业务处理层,在其中定义业务方法,实现系统需求,在这些业务方法中需要执行DAO方法。

(6)创建BaseDAO工具类,使用JDBC完成数据表数据的查询、删除、添加的功能方法代码。

(7)编写JSP页面展示数据的查询结果。

2.SSM版本的实现步骤如下:

(1)创建数据库,创建数据表,添加测试数据(不少于5条,测试数据不需要和上图一致)。

(2)创建Web工程并创建各个包,导入工程所需的jar文件。

(3)添加相关SSM框架支持。

(4)配置项目所需要的各种配置文件(mybatis配置文件、spring配置文件、springMVC配置文件)。

(5)创建实体类。

(6)创建MyBatis操作数据库所需的Mapper接口及其Xml映射数据库操作语句文件。

(7)创建业务逻辑相应的接口及其实现类,实现相应的业务,并在类中加入对DAO/Mapper的引用和注入。

(8)创建Controller控制器类,在Controller中添加对业务逻辑类的引用和注入,并配置springMVC配置文件。

(9)创建相关的操作页面,并使用CSS对页面进行美化。

(10)实现页面的各项操作功能,并在相关地方进行验证,操作要人性化。

(11)调试运行成功后导出相关的数据库文件并提交。

五、 实现代码

1、MySQL数据库:

member_db.sql
在这里插入图片描述

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `tb_member_info`
-- ----------------------------
DROP TABLE IF EXISTS `tb_member_info`;
CREATE TABLE `tb_member_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `card_no` varchar(50) NOT NULL,
  `name` varchar(50) NOT NULL,
  `sex` int(11) DEFAULT NULL,
  `birthday` date NOT NULL,
  `grade` varchar(20) NOT NULL,
  `integral` int(11) NOT NULL DEFAULT '200',
  `Write_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tb_member_info
-- ----------------------------
INSERT INTO `tb_member_info` VALUES ('1', 'CS0601202100146245', '杨过', '1', '2021-07-19', '一级', '200', '2021-07-19 18:00:44');
INSERT INTO `tb_member_info` VALUES ('2', 'CS0601202100245211', '杨明金', '1', '2021-07-19', '一级', '5000', '2021-07-19 18:02:35');
INSERT INTO `tb_member_info` VALUES ('3', 'CS0620210305236547', '黄静文', '0', '2021-07-19', '一级', '200', '2021-07-19 18:03:11');
INSERT INTO `tb_member_info` VALUES ('4', 'CS0620210712546895', '李三', '0', '2021-07-02', '四级', '200', '2021-07-19 20:18:01');
INSERT INTO `tb_member_info` VALUES ('5', 'CS0620212315568456', '王二麻子', '1', '2021-07-10', '四级', '200', '2021-07-19 20:21:10');
INSERT INTO `tb_member_info` VALUES ('10', 'CS0620210719319319', '杨明金', '1', '2021-07-10', '四级', '200', '2021-07-19 22:02:09');
INSERT INTO `tb_member_info` VALUES ('13', 'CS0620210720577265', '杨明金', '1', '2021-07-16', '四级', '200', '2021-07-20 10:20:06');

2、JAVA代码:

目录结构:
在这里插入图片描述

com.controller

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值