基于javaweb+mysql的ssm图书进销存管理系统(java+ssm+bootstrap+jsp+jquery+mysql)

基于javaweb+mysql的ssm图书进销存管理系统(java+ssm+bootstrap+jsp+jquery+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SSM图书进销存管理系统(java+ssm+bootstrap+jsp+jquery+mysql)

项目介绍

该项目主要分为管理员与普通员工两种角色;

管理员角色包含以下功能: 管理员登录,进货管理,图书信息管理,库存管理,销售管理,客户信息管理,供应商信息管理,员工信息管理等功能。

普通员工角色包含以下功能: 用户登录,进货管理,图书信息管理,库存管理,销售管理,客户信息管理,供应商管理,修改个人资料等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本; 6.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+bootstrap+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中db.properties与spring-mybatis.xml配置文件中的数据库配置改为自己的配置; 注:在spring-mybatis.xml没有将db.properties的数据同步过去的情况下修改; 4. 运行项目,输入localhost:8080/chaoshi 登录 注:tomcat中配置项目路径必须为/chaoshi,前端代码中已写死,否则会报错; 操作员账号/密码: 001/123456 管理员账号/密码:999/admin

return Result.success(true, "200", "修改成功!");

} catch (Exception e) {

e.printStackTrace();

return Result.error(false, null, "修改失败!");

/**

* 删除单条数据

* @param id

* @return

*/

@SysLog("角色删除操作")

@RequestMapping("/deleteOne")


} catch (Exception e) {

e.printStackTrace();

return Result.error(false, null, "修改失败!");

/**

* 删除单条数据

* @param id

* @return

*/

@SysLog("用户删除操作")

@RequestMapping("/deleteOne")

public Result deleteOne(int id) {

boolean bool = userService.removeById(id);
* @param page         翻页对象

* @param queryWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}

*/

IPage<Role> roleIPage = roleService.page(page, queryWrapper);

return new DataGridViewResult(roleIPage.getTotal(), roleIPage.getRecords());

/**

* 添加角色信息

* @param role

* @return

*/

@SysLog("角色添加操作")

@PostMapping("/addrole")

if (bool) {

return Result.success(true, "200", "删除成功!");

} catch (Exception e) {

e.printStackTrace();

return Result.error(false, null, "删除失败!");

/**

* 初始化权限菜单树

* @param roleId

* @return

*/

@RequestMapping("/initPermissionByRoleId")

public DataGridViewResult initPermissionByRoleId(int roleId) {

//创建条件构造器对象

* @return

*/

@SysLog("进货添加操作")

@PostMapping("/addinport")

public Result addInport(Inport inport, HttpSession session) {

if (inport.getGoodsid()==0||inport.getProviderid()==0){

return Result.error(false, null, "添加失败!未选供应商或商品");

User user = (User) session.getAttribute("username");

inport.setOperateperson(user.getUname());

inport.setInptime(new Date());

boolean bool = inportService.save(inport);

if (bool) {

return Result.success(true, "200", "添加成功!");

return Result.error(false, null, "添加失败!");

* @return

*/

@RequestMapping("/updateUserPassWord")

public Result updateUserPassWord(String newPassWord1, String newPassWord2,HttpSession session) {

User sessionUser = (User) session.getAttribute("username");

if (newPassWord1.equals(newPassWord2)){

User user = new User();

String salt = UUIDUtil.randomUUID();

user.setUid(sessionUser.getUid());

user.setPassword(PasswordUtil.md5(newPassWord1, salt, 2));

user.setSalt(salt);

boolean bool = userService.updateById(user);


@Autowired

private RoleService roleService;

/**

* 登录

* @param username 用户名

* @param password 密码

* @param request

* @return

*/

@SysLog("登陆操作")


//保存角色拥有的菜单

List<Permission> currentPermissions = new ArrayList<>();

if (currentPermissionIds != null && currentPermissionIds.size() > 0) {

queryWrapper.in("id", currentPermissionIds);

currentPermissions = permissionService.list(queryWrapper);

List<TreeNode> treeNodes = new ArrayList<>();

for (Permission p1 : permissionList) {

//定义变量标记是否选中

String checkArr = "0";

for (Permission p2 : currentPermissions) {

try {

QueryWrapper<User> queryWrapper = new QueryWrapper<>();

queryWrapper.eq("username", username);

User user = userService.getOne(queryWrapper);

if (user != null) {

map.put("exist", true);

map.put("message", "用户名已存在");

} else {

map.put("exist", false);

map.put("message", "用户名可以使用");

} catch (Exception e) {

e.printStackTrace();

* @return

*/

@RequestMapping("/initPermissionByRoleId")

public DataGridViewResult initPermissionByRoleId(int roleId) {

//创建条件构造器对象

QueryWrapper<Permission> queryWrapper = new QueryWrapper<>();

List<Permission> permissionList = permissionService.list();

List<Integer> currentPermissionIds = permissionService.findRolePermissionIdByRoleId(roleId);

//保存角色拥有的菜单

List<Permission> currentPermissions = new ArrayList<>();

if (currentPermissionIds != null && currentPermissionIds.size() > 0) {

queryWrapper.in("id", currentPermissionIds);

currentPermissions = permissionService.list(queryWrapper);

* @param password 密码

* @param request

* @return

*/

@SysLog("登陆操作")

@PostMapping("/login")

public Result login(String username, String password, HttpServletRequest request) {

try {

//获取当前登录主体对象

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken(username, password);


Goods goods = goodsService.getById(inport.getGoodsid());

if (null != goods) {

inport.setGoodsname(goods.getGname());

return new DataGridViewResult(inportIPage.getTotal(), records);

/**

* 添加进货信息

* @param inport

* @return

*/

@SysLog("进货添加操作")

@PostMapping("/addinport")

public Result addInport(Inport inport, HttpSession session) {

if (inport.getGoodsid()==0||inport.getProviderid()==0){
/**

* 初始化权限菜单树

* @param roleId

* @return

*/

@RequestMapping("/initPermissionByRoleId")

public DataGridViewResult initPermissionByRoleId(int roleId) {

//创建条件构造器对象

QueryWrapper<Permission> queryWrapper = new QueryWrapper<>();

List<Permission> permissionList = permissionService.list();

List<Integer> currentPermissionIds = permissionService.findRolePermissionIdByRoleId(roleId);

//保存角色拥有的菜单

List<Permission> currentPermissions = new ArrayList<>();


List<Permission> currentPermissions = new ArrayList<>();

if (currentPermissionIds != null && currentPermissionIds.size() > 0) {

queryWrapper.in("id", currentPermissionIds);

currentPermissions = permissionService.list(queryWrapper);

List<TreeNode> treeNodes = new ArrayList<>();

for (Permission p1 : permissionList) {

//定义变量标记是否选中

String checkArr = "0";

for (Permission p2 : currentPermissions) {

if (p1.getId().equals(p2.getId())) {

checkArr = "1";


e.printStackTrace();

return Result.error(false, null, "添加失败!");

/**

* 修改角色信息

* @param role

* @return

*/

@SysLog("角色修改操作")

@PostMapping("/updaterole")

public Result updateRole(Role role) {

boolean bool = roleService.updateById(role);

try {

if (bool) {

QueryWrapper<User> queryWrapper = new QueryWrapper<>();

queryWrapper.like(!StringUtils.isEmpty(userVO.getUsername()), "username", userVO.getUsername());

queryWrapper.like(!StringUtils.isEmpty(userVO.getUname()), "uname", userVO.getUname());

/**

* 翻页查询

* @param page         翻页对象

* @param queryWrapper 实体对象封装操作类

*/

IPage<User> userIPage = userService.page(page, queryWrapper);

return new DataGridViewResult(userIPage.getTotal(), userIPage.getRecords());

/**

* 添加用户信息

* @param user

public Result updateUserPassWord(String newPassWord1, String newPassWord2,HttpSession session) {

User sessionUser = (User) session.getAttribute("username");

if (newPassWord1.equals(newPassWord2)){

User user = new User();

String salt = UUIDUtil.randomUUID();

user.setUid(sessionUser.getUid());

user.setPassword(PasswordUtil.md5(newPassWord1, salt, 2));

user.setSalt(salt);

boolean bool = userService.updateById(user);

if (bool){

return Result.success(true,null,"修改成功");

}else {

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值