一、项目技术栈

开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端:采用HTML和Vue相结合开发
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是

二、系统分析

系统流程分析

系统登录流程图,如图所示:

添加信息流程图,如图所示:

删除信息流程图,如图所示:

功能截图

前台首页功能模块

在前台首页我们可以看到首页、宠物用品、宠物商店、宠物领养、宠物挂失、论坛信息、宠物资讯、个人中心、后台管理、购物车、客服这些功能模块

在宠物用品我们可以看到一些宠物的玩具或者饭碗,并且可以下单

在宠物商店我们可以看到一些宠物商店的名称

在宠物领养我们可以看到一些可以领养的宠物等信息

在宠物挂失我们可以发布宠物丢失的信息


在论坛信息我们可以看到管理员发布的一些信息等情况。

后台管理员功能模块

在后台管理登录后我们可以看到有用户管理、宠物分类管理、商品分类管理、宠物用品管理等相关功能模块

在宠物分类我们可以添加一些宠物的分类等

在宠物商店管理我们可以查看一些已经存在的宠物商店的一些基本信息等情况

在宠物领养管理中我们可以发布一些需要领养的宠物和可以查看是否被领养

相关代码

数据库配置

# Tomcat
server:tomcat:uri-encoding: UTF-8port: 8080servlet:context-path: /springbootr1tjfspring:datasource:driverClassName: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/springbootr1tjf?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8username: rootpassword: 123456#        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
#        url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=springbootr1tjf
#        username: sa
#        password: 123456servlet:multipart:max-file-size: 10MBmax-request-size: 10MBresources:static-locations: classpath:static/,file:static/#mybatis
mybatis-plus:mapper-locations: classpath*:mapper/*.xml#实体扫描,多个package用逗号或者分号分隔typeAliasesPackage: com.entityglobal-config:#主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";id-type: 1#字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"field-strategy: 2#驼峰下划线转换db-column-underline: true#刷新mapper 调试神器refresh-mapper: true#逻辑删除配置logic-delete-value: -1logic-not-delete-value: 0#自定义SQL注入器sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjectorconfiguration:map-underscore-to-camel-case: truecache-enabled: falsecall-setters-on-nulls: true#springboot 项目mybatis plus 设置 jdbcTypeForNull (oracle数据库需配置JdbcType.NULL, 默认是Other)jdbc-type-for-null: 'null' 

控制层(controller)

package com.controller;import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){//      ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){//      ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){//        ValidatorUtils.validateEntity(user);UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用户名已存在。");}userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

业务层(Service)


package com.service;import java.util.List;
import java.util.Map;import org.apache.ibatis.annotations.Param;import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.entity.UserEntity;
import com.utils.PageUtils;/*** 系统用户*/
public interface UserService extends IService<UserEntity> {PageUtils queryPage(Map<String, Object> params);List<UserEntity> selectListView(Wrapper<UserEntity> wrapper);PageUtils queryPage(Map<String, Object> params,Wrapper<UserEntity> wrapper);}

数据访问层(Dao)

package com.dao;import java.util.List;import org.apache.ibatis.annotations.Param;import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.entity.UserEntity;/*** 用户*/
public interface UserDao extends BaseMapper<UserEntity> {List<UserEntity> selectListView(@Param("ew") Wrapper<UserEntity> wrapper);List<UserEntity> selectListView(Pagination page,@Param("ew") Wrapper<UserEntity> wrapper);}

基于SSM的宠物管理系统相关推荐

  1. 基于SSM框架宠物管理系统

    一.项目简介 本项目是一套基于ssm框架宠物管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者. 包含:项目源码.数据库脚本等,该项目附带全部源码可作为毕设使用. 项 ...

  2. 基于SSM的宠物领养管理系统(源代码+数据库)619

    部分代码地址 https://gitee.com/ynwynwyn/adopt-public 基于SSM的宠物领养管理系统(源代码+数据库) 一.系统介绍 本项目分为管理员与普通用户两种角色 管理员角 ...

  3. 计算机毕业设计ssm基于ssm流浪宠物领养系统8xg84系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于ssm流浪宠物领养系统8xg84系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于ssm流浪宠物领养系统8xg84系统+程序+源码+lw+远程部署 本源码技术栈: 项目 ...

  4. 基于Java毕业设计宠物管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计宠物管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计宠物管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  5. java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈 ...

  6. c++new时赋初值_基于ssm的客户管理系统 - C_you_again

    01 概述 一个简单的客户关系管理系统 管理用户的基本数据 客户的分配 客户的流失 已经客户的状态 02 技术 ssm + jdk1.8 + mysql5.4 03 运行环境 ecplice + jd ...

  7. 基于SSM的勤工助学管理系统

    基于SSM的勤工助学管理系统 1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释. 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善 开发环境: Eclipse ,MYSQL,JDK1. ...

  8. java计算机毕业设计ssm基于SSM学生信息管理系统37myx(附源码、数据库)

    java计算机毕业设计ssm基于SSM学生信息管理系统37myx(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm ...

  9. 计算机毕业设计系列基于SSM的养老保险管理系统

    目录 一.项目介绍 二.开题报告 三.项目截图 四.源码获取 一.项目介绍 计算机毕业设计系列基于SSM的养老保险管理系统 本项目是一款基于SSM的养老保险管理系统,主要针对计算机相关专业的正在做毕设 ...

最新文章

  1. Goland实现Set操作
  2. html+css复习之第2篇 | javascript
  3. IntelliJ IDEA配置maven,并创建一个实例作为演示
  4. 【IT资讯】华为全球高薪招聘“天才少年”迎战:年薪89.6万起,201万封顶
  5. Java压缩技术(三) ZIP解压缩——Java原生实现
  6. spring boot配置dubbo(properties)
  7. hibernate、easyui、struts2整合
  8. mysql memory优点_MySQL Memory存储引擎:优势及性能测试
  9. c/c++教程 - 1.5 运算符
  10. linux查看java堆栈信息_Java运行状态分析2:获取线程堆栈信息
  11. 陈皓:不灌鸡汤,说真的年龄渐长,技术人的发展之路该怎么走?
  12. redhat5.4上安装oracle9i
  13. 安装Flash Builder4.6遇到的问题
  14. c++ discards qualifiers
  15. MyBatis(二)—— 进阶
  16. 浏览器预览html网址,在浏览器中预览网页
  17. 攻防世界 WEB leaking
  18. 基于有道翻译下的中英互译Java小程序
  19. 韦东山 IMX6ULL和正点原子_stm32入门开发板选野火还是正点原子好,哪个的视频讲到好一点?...
  20. linux模拟器玩三国战记,三国战纪风云再起街机版

热门文章

  1. 理解精准营销,知道这5个阶段就够了!
  2. Newtonsoft.Json序列化库
  3. Protues仿真12864的学习笔记
  4. networkx计算边的重要性:边介数或者中介中心性edge_betweenness
  5. C语言 01背包问题
  6. 大势所趋,RIA已成为主流应用程序!
  7. 宝宝取名大全测试打分,这样为宝宝起名更简单
  8. java面试题成都_成都汇智动力-java面试——多线程面试题
  9. 解决黑群晖故障-抱歉,您所指定的页面不存在
  10. 完美破解360随身wifi作为无线网卡