设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>理工论文 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopinvvp QQ:1015083682   
基于SSM架构的宠物救助管理系统的设计与实现 设计概述
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

基于SSM架构的宠物救助管理系统的设计与实现

一、 需求概述

许多宠物救助站的信息管理仍然采用传统的人工管理方式。在这种管理模式下,进行各种信息管理工作(例如信息审核校对、数据统计和实时查询等)需要一些必要的人工操作程序步骤,如人工制表、人工信息录入、人工校对和人工查询等。然而,随着领养信息的不断增加和更新,宠物救助站工作人员的工作量将会越来越大,因此传统的信息管理方式已经无法满足现代科学管理体系的需求。

二、 详细设计

1、 数据库设计(和概要设计中的各模块信息对应上)

▲E-R图设计

在进行数据库设计前,需要明确宠物领养信息管理系统中有哪些实体对象,根据实体对象之间的关联进行数据库设计。根据需求分析可知主要实体有:用户、领养、宠物、公告,对应设计E-R图具体如下。

(1)用户E-R图如图所示。

用户E-R图

(2)领养信息E-R图如图所示。

领养信息E-R图

(3)宠物E-R图如图所示。

宠物E-R图

(4)公告E-R图如图所示。

公告E-R图

▲表结构设计

根据E-R图设计数据表,然后可以根据表结构编写SQL语句进行建表或者使用Navicat等数据库可视化软件进行建表。

(1) 用户表(t_members)主要用来维护用户相关信息,表结构如表1所示。

表1用户表结构

序号

字段名

数据类型

主键

长度

说明

1

id

bigint

20

主键

2

username

varchar

50

用户名

3

password

varchar

50

密码

4

real_name

varchar

50

姓名

5

user_sex

varchar

50

性别

6

user_phone

varchar

50

手机

7

user_text

varchar

50

备注

8

user_type

varchar

50

类型

(2)领养信息表(t_linyang)主要用来维护和领养相关的信息,表结构如表12所示。

表2领养信息表设计

(2) 宠物表(t_pet)主要主要用来维护宠物相关的信息,表结构如表3所示。

3宠物表结构

(4) 公告表(t_notice)主要用户来维护公告相关的信息,表结构如表4所示。

表4公告表结构

三、 系统实现

1、注册登录模块

▲数据访问层设计

用于实现和用户相关的数据库交互操作,主要是创建UserMapper接口,在该接口中定义6各方法,实现添加会员、更新会员、删除会员、按会员号查找会员、按会员名查找会员及查找所欲会员的功能。

public interface MemberMapper {
    @Insert("INSERT INTO members VALUES(#{id},#{username},#{password}," +
            "#{email},#{telephone})")
    public int save(Member member); // 添加会员
    @Delete("DELETE FROM members WHERE id=#{id}")
    public int delete(int id); // 删除会员
    @Update("UPDATE members SET username=#{username},password=#{password}," +
            "email=#{email},telephone=#{telephone} WHERE id=#{id}")
    public int update(Member member); // 更新会员
    @Select("SELECT * FROM members WHERE id=#{id}")
    public Member findById(int id); // 按id查找会员
    @Select("SELECT * FROM members WHERE username=#{username}")
    public Member findByName(String username); // 按姓名查找会员
    @Select("SELECT * FROM members")
    public List<Member> findAll(); // 查找全部会员
}

▲业务逻辑层设计

业务逻辑层的设计包括两部分,一是创建业务逻辑组件接口MemberService;二是创建业务逻辑组件实现类MemberServiceImpl。

业务逻辑组件接口:

public interface MemberService {
    public int save(Member member); // 添加会员
    public int update(Member member); // 更新会员
    public int delete(int id); // 删除会员
    public Member findById(int id); // 按id查找会员
    public Member findByName(String username, String password); // 按姓名查找会员
    public List<Member> findAll(); // 查找全部会员
}

业务逻辑组件实现类:


@Service
@Transactional
public class MemberServiceImpl implements MemberService {
    @Autowired
    private MemberMapper memberMapper;
    // 添加会员
    @Override
    public int save(Member member) {
        // 如果表中不包含该会员,则添加该会员
        if (memberMapper.findById(member.getId()) == null)
            return memberMapper.save(member);
        else
            return 0;
    }
    // 更新会员
    @Override
    public int update(Member member) {
        // 如果表中存在该会员,则更新该会员
        if (memberMapper.findById(member.getId()) != null)
            return memberMapper.update(member);
        else
            return 0;
    }
    // 删除会员
    @Override
    public int delete(int id) {
        // 如果表中存在该会员,则删除该会员
        if (memberMapper.findById(id) != null)
            return memberMapper.delete(id);
        else
            return 0;
    }
    // 按id查找会员
    @Override
    public Member findById(int id) {
        return memberMapper.findById(id);
    }
    // 查找全部会员
    public List<Member> findAll() {
        return memberMapper.findAll();
    }
    public Member findByName(String username, String password) {
        Member member = memberMapper.findByName(username);
        if (member != null && member.getPassword().equals(password)) {
            return member;
        }
        return null;
    }
}

▲控制器的开发

创建控制器MemberController

@Controller
public class MemberController {
    private static final Log logger = LogFactory.getLog(MemberController.class);
    @Autowired
    private MemberService memberService;
    // 显示注册表单
    @RequestMapping(value = "/member-register", method = RequestMethod.GET)
    public ModelAndView register(Model model) {
        logger.info("register called");
        return new ModelAndView("memberForm", "command", new Member());
    }
    // 添加会员
    @RequestMapping(value = "/save-member")
    public String saveMember(@ModelAttribute Member member, Model model) {
        logger.info("save member called");
        int n = memberService.save(member);
        if (n == 1) {
            List<Member> members = memberService.findAll();
            model.addAttribute("memberList", members);
            return "memberList";
        } else {
            return "error";
        }
    }
    // 显示登录表单
    @RequestMapping(value = "/member-login", method = RequestMethod.GET)
    public ModelAndView login(Model model) {
        logger.info("login called");
        return new ModelAndView("memberLogin", "command", new Member());
    }
    // 实现会员登录
    @RequestMapping(value = "/member-login", method = RequestMethod.POST)
    public String memberLogin(String username, String password, Model model) {
        logger.info("login member called");
        Member member = memberService.findByName(username, password);
        if (member != null) {
            model.addAttribute("member", member);
            return "welcome";
        } else {
            return "error";
        }
    }
    // 查找所有会员信息
    @RequestMapping(value = "/find-all-member")
    public String findAllMember(Model model) {
        logger.info("find all member called");
        List<Member> members = memberService.findAll();
        model.addAttribute("memberList", members);
        return "memberList";
    }
    // 按编号查找会员
    @RequestMapping(value = "/find-member")
    public String findMemberById(Integer id, Model model) {
        logger.info("findMember called");
        Member member = memberService.findById(id);
        model.addAttribute("member", member);
        return "member";
    }
    // 删除会员
    @RequestMapping(value = "/delete-member/{id}")
    public String deleteMember(@PathVariable Integer id, Model model) {
        logger.info("delete member called");
        int n = memberService.delete(id);
        List<Member> members = memberService.findAll();
        model.addAttribute("memberList", members);
        return "memberList";
    }
    // 修改会员
    @RequestMapping(value = "/edit-member/{id}")
    public String editMember(@PathVariable Integer id, Model model) {
        logger.info("edit member called");
        Member member = memberService.findById(id);
        model.addAttribute("member", member);
        return "memberEditForm";
    }
    // 更新会员
    @RequestMapping(value = "/update-member")
    public String updateMember(@ModelAttribute Member member, Model model) {
        logger.info("update member called");
        int n = memberService.update(member);
        List<Member> members = memberService.findAll();
        model.addAttribute("memberList", members);
        return "memberList";
    }
}

四、 项目实现

(1)注册登录模块

通过宠物救助信息管理系统的注册登录模块,用户可以创建自己的账户,然后使用该账户登录系统,在系统中进行各种操作,例如浏览、查询、修改等。同时,注册登录功能还可以防止未经授权的访问和操作,保护系统的安全性。

▲实现注册功能

对于宠物领养信息管理系统,首次使用该系统的用户需要先注册账号,如下图所示。

用户在注册的时候需要填写登录账号、登录密码并确认密码,在每一个文本框中都有文字提示。在输入所有数据以后,点击“注册”按钮,即可完成注册。

▲实现登录功能

用户完成注册后,可以对宠物领养信息管理系统进行登录操作。登录页面如下图所示。

在登录时,需要验证用户名和密码是否正确,并进行验证码校验,只有用户名、密码和验证码全部正确才能够登录成功。

(2)用户模块

用户模块的功能是对用户相关的信息如:用户名、密码、姓名、性别、手机、备注、类型等进行增加、删除、修改、查询列表、显示详情等管理操作,普通用户可以进行检索和查看,管理员可以对信息进行增加编辑和删除。

▲用户信息列表页面

用于显示用户信息列表,如下图所示。

▲用户新增界面

用于管理员在后台添加用户信息,如下图所示。

▲用户信息编辑界面

用户信息编辑页面,用于编辑用户信息,效果图如下图所示。

用户信息编辑页面

▲用户信息显示界面

用于显示用户详细信息,界面效果如下图所示。

▲用户删除

用户管理员在后台删除用户功能,管理员在用户列表页面中,单击操作列中的删除按钮,即可删除选定的用户,删除前须提醒用户确认。

(3)宠物模块

宠物模块的功能是对宠物相关的信息如:编号、昵称、类型、备注、性别等进行增加、删除、修改、查询列表、显示详情等管理操作,普通用户可以进行检索和查看,管理员可以对信息进行增加编辑和删除。

▲宠物信息列表页面

用于显示宠物信息列表,宠物信息列表如下图所示。

▲宠物信息添加界面

宠物信息添加页面效果图如下图所示。

宠物信息添加页面

▲宠物信息编辑界面

用于宠物信息的修改,效果图如下图所示。

▲宠物信息详细界面

用于显示宠物的详细信息,界面如下图所示。

▲宠物信息删除功能

用于管理员在后台删除宠物信息,管理员在宠物列表页面中,单击操作列中的删除按钮,即可删除选定的宠物信息,删除前须提醒用户确认。

(4)领养信息模块

领养信息模块的功能是对领养相关的信息如:领养人、电话、性别、地址、宠物编号、领养时间、是否同意、备注等进行增加、删除、修改、查询列表、显示详情等管理操作,普通用户可以进行检索和查看,管理员可以对信息进行增加编辑和删除。

▲领养信息列表页面

用于显示宠物领养信息列表,效果图如下图所示。

▲添加领养信息页面

用于添加宠物领养信息,界面效果图如下图所示

▲领养信息编辑页面

用于修改宠物领养信息,界面效果图如下图所示

▲宠物领养信息删除功能

用于管理员在后台删除宠物领养信息,管理员在宠物领养列表页面中,单击操作列中的删除按钮,即可删除选定的宠物领养信息,删除前须提醒用户确认。

(5)公告模块

公告模块的功能是对公告相关的信息如:标题、内容、类型、创建时间等进行增加、删除、修改、查询列表、显示详情等管理操作,普通用户可以进行检索和查看,管理员可以对信息进行增加编辑和删除。

▲公告信息列表页面

用于显示公告信息列表,效果图如下图所示。

▲添加公告信息页面

用于添加公告领养信息,界面效果图如下图所示

▲公告信息编辑页面

用于修改公告信息,界面效果图如下图所示

▲公告信息删除功能

用于管理员在后台删除公告信息,管理员在公告列表页面中,单击操作列中的删除按钮,即可删除选定的公告信息,删除前须提醒用户确认。

五、 总结

  全套毕业设计论文现成成品资料请咨询微信号:biyezuopinvvp QQ:1015083682     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
  下一篇文章:暂时没有
本类最新文章
基于SSM架构的宠物救助管理系统 REST与AJAX(翻译) 百香果潜伏病毒发生澳大利亚栽培和
内生菌抗癌制剂 红豆杉发展前景与培育技术 10-15年的红豆杉Var. M
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopinvvp QQ:1015083682  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!