Java实训项目--小型书店管理系统(ssm框架)
Posted 加辣椒了吗?
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实训项目--小型书店管理系统(ssm框架)相关的知识,希望对你有一定的参考价值。
系列文章目录
MyBatis专栏:
一:Java实训项目–小型图书管理系统(ssm框架)
二:“spring与mybatis整合”考试题目测试与解析
三:“SSM框架整合+excel文件上传到数据库+数据更新“
等!
文章目录
一、系统功能介绍
本系统后台采用ssm框架编写,前台采用当前主流的layui框架和jquery框架完成页面信息展示功能。
开发环境:
(1)开发工具:IntelliJ IDEA 2021.1
(2)数据库:mysql-8.0.16-winx64
(3)JDK:1.8.0_202
(4)JDBC:8.0.16
包结构:
数据库结构:
二、系统实现
1.登录注册子模块
登录注册子模块用于用户或管理员进入系统前的身份认证,用户在未登录的情况下,直接进入页面以及直接调用接口都会被拦截并跳转到登录注册页面。
登录时会校验账号是否存在,不存在则提示用户注册,存在则进一步判断密码是否正确,验证正确后会根据权限进入前台或后台,普通用户跳转到前台,管理员跳转到后台。如图3.1、图3.2所示。
图3.1 登录界面图:
图3.2 注册界面图:
2.用户信息管理子模块
用户信息管理子模块用于管理员对用户信息进行操作,该页面中包含的功能有浏览所有用户信息,用户信息查询,用户信息修改,添加用户以及删除用户。如图3.3、图3.4、图3.5、图3.6、图3.7所示。
图3.3浏览所有用户信息界面图:
图3.4修改用户信息界面图:
图3.5查询用户信息界面图:
图3.6 添加用户界面图:
图3.7 删除用户界面图:
3.用户密码管理子模块
用户密码管理模块是用于管理员对用户的密码进行修改或重置,由于在数据库中密码以数据摘要(md5)形式保存,因此不能查询到用户的密码原文,这也保障了用户的隐私和系统安全性。如图3.8所示。
图3.8用户密码管理界面图:
4.图书管理子模块
图书管理子模块是用于管理员对数据的操作,页面包含浏览所有图书,查询图书,添加图书,修改图书和删除图书,如图3.9、图3.10、图3.11、图3.12、图3.13所示。
图3.9浏览所有图书界面图:
图书管理子模块的增删查改与用户信息管理子模块的增删查改类似,就不截出来了。
5.图书类型管理子模块
图书类型子模块用于管理员对图书类型数据的操作,页面包含了浏览所有图书浏览,查询图书类型,添加图书类型,修改图书类型以及删除图书类型,如图3.4、图3.15、图3.16、图3.17、图3.18所示。
图3.14 浏览所有图书类型界面图:
图书类型管理子模块的增删查改与用户信息管理子模块的增删查改类似,就不截出来了。
6.订单管理子模块
订单管理子模块用于管理员操作用户提交的订单数据,页面包含浏览所有订单,查询订单,添加订单,修改订单以及删除订单,如图3.19、图3.20、图3.21、图3.22、图3.23所示。
图3.19浏览所有订单列表界面图:
订单管理子模块的增删查改与用户信息管理子模块的增删查改类似,就不截出来了。
7.前台购物模块
前台购物模块主要用于普通用户浏览书店内所有的图书商品信息,并且支持查询图书,用户可以在指定图书商品的右侧点击购买,填写数量后提交订单,如果库存不足或商品未上架,则提示错误信息,创建订单成功后订单默认处于“暂未处理”的状态,管理员可以在后台管理用户提交的订单。如图3.24、图3.25所示。
图3.24浏览图书商品信息界面图:
图3.25用户提交商品订单订单界面图:
三、关键代码
1.mapper层
UserMapper.java:
package com.bms.mapper;
import com.bms.pojo.User;
import com.bms.pojo.UserBasicVo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface UserMapper
public List<User> queryAll();
public User queryByUsername(String username);
public User queryById(Integer id);
public int addUser(User user);
public int deleteUser(Integer id);
public User queryByUsernameAndPassword(String username,String password);
public List<UserBasicVo> queryAllUserBasic();
public List<UserBasicVo> queryUserBasic(User user);
public List<UserBasicVo> queryUserBasicLike(User user);
public int setUserPasswordById(User user);
public int setUserPasswordByUsername(User user);
public int setUserBasic(UserBasicVo user);
2.service层
UserService.java:
package com.bms.service;
import com.bms.pojo.CMD;
import com.bms.pojo.User;
import com.bms.pojo.UserBasicVo;
import java.util.List;
// CMD为po层包装类
public interface UserService
List<User> queryAll();
User queryById(Integer id);
User queryByUsername(String username);
CMD register(User user);
CMD login(User user);
CMD queryAll2();
CMD deleteUser(User user);
CMD getUserBasicById(User user);
CMD getUserBasicByUsername(User user);
CMD getUserBasicByPhone(User user);
CMD getUserBasicByPower(User user);
CMD setUserPasswordSelf(User user);
CMD setUserPassword(User user);
CMD addUserByAdmin(User user);
CMD setUserBasic(UserBasicVo user);
3.controller层
UserController.java:
package com.bms.controller;
import com.bms.pojo.CMD;
import com.bms.pojo.User;
import com.bms.pojo.UserBasicVo;
import com.bms.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpSession;
@RestController
public class UserController
@Autowired
private UserService userService;
/*用户登录*/
@RequestMapping(value = "login",method = RequestMethod.POST)
public CMD Login(@RequestBody User user, HttpSession session)
CMD login = userService.login(user);
session.setAttribute("user",login.getData());
return login;
/*用户注册*/
@RequestMapping(value = "register",method = RequestMethod.POST)
public CMD Register(@RequestBody User user)
//System.out.println(user);
return userService.register(user);
/*获取基础用户信息*/
@RequestMapping(value = "getUserBasic",method = RequestMethod.POST)
public CMD getUserBasic()
//System.out.println(user);
return userService.queryAll2();
/*通过ID查找用户信息*/
@RequestMapping(value = "getUserBasicById",method = RequestMethod.POST)
public CMD getUserBasicById(@RequestBody User user)
//System.out.println(user);
return userService.getUserBasicById(user);
/*通过账号查找用户信息*/
@RequestMapping(value = "getUserBasicByUsername",method = RequestMethod.POST)
public CMD getUserBasicByUsername(@RequestBody User user)
//System.out.println(user);
return userService.getUserBasicByUsername(user);
/*通过手机号查找用户信息*/
@RequestMapping(value = "getUserBasicByPhone",method = RequestMethod.POST)
public CMD getUserBasicByPhone(@RequestBody User user)
//System.out.println(user);
return userService.getUserBasicByPhone(user);
/*通过权限查找用户信息*/
@RequestMapping(value = "getUserBasicByPower",method = RequestMethod.POST)
public CMD getUserBasicByPower(@RequestBody User user)
//System.out.println(user);
return userService.getUserBasicByPower(user);
/*删除指定id的用户*/
@RequestMapping(value = "deleteUser",method = RequestMethod.POST)
public CMD deleteUser(@RequestBody User user)
System.out.println(user);
return userService.deleteUser(user);
/*修改指定账号的密码*/
@RequestMapping(value = "setUserPassword",method = RequestMethod.POST)
public CMD setUserPassword(@RequestBody User user)
System.out.println(user);
return userService.setUserPassword(user);
/*直接添加用户*/
@RequestMapping(value = "addUserByAdmin",method = RequestMethod.POST)
public CMD addUserByAdmin(@RequestBody User user)
return userService.addUserByAdmin(user);
/*修改用户数据*/
@RequestMapping(value = "setUserBasic",method = RequestMethod.POST)
public CMD setUserBasic(@RequestBody UserBasicVo user)
System.out.println(user.toString());
return userService.setUserBasic(user);
/*退出登录*/
@RequestMapping(value = "logout",method = RequestMethod.GET)
public int logout(HttpSession session)
session.removeAttribute("user");
return 0;
总结
实训时写的代码,适用于应付作业实训练习等。 代码下载链接(附带数据库,文档):以上是关于Java实训项目--小型书店管理系统(ssm框架)的主要内容,如果未能解决你的问题,请参考以下文章