• 基于SSM和layUI的汽车租赁系统设计


            很多初学编程的同学经常有一个误区,认为SpringBoot框架跟SSM或SSH框架没任何关系、是两回事,其实SSM或SSH框架是SpingBoot框架的前身,并且SpringBoot框架也是通过数据库持久层框架区分的,即SSM和SSH最后那个字母代表的是MyBatis还是Hibernate。通俗的讲,SpringBoot是升级的框架,包含了SSM或SSH,你可以叫用了MyBatis的SpingBoot框架是SSM,但是不能叫SSM框架是SpingBoot框架。

            今天介绍的就是一个使用了SSM框架的汽车租赁系统,但不能叫做SpingBoot框架,前端使用了layUI框架,演示如图:

     

    使用的技术

    后端:JAVA开发语言,SSM框架,MySql数据库

    前端:jsp页面,layUI框架

            SSM框架即指Spring+SpringMVC+MyBatis的简称,框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。

            layUI框架是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。

            由国人开发,16年出厂的框架,其主要提供了很多好看、方便的样式,并且基本拿来即用,和Bootstrap有些相似,但该框架有个极大的好处就是定义了很多前后端交互的样式接口,如分页表格,只需在前端配置好接口,后端则按照定义好的接口规则返回数据,即可完成页面的展示,极大减少了后端人员的开发成本。

    实现的功能

    管理员可以登录后台管理系统

    基础管理:客户管理、车辆管理

    业务管理:汽车出租、出租单管理、汽车入库、检查单管理

    系统管理:菜单管理、角色管理、用户管理、日志管理、公告管理、数据监控

    统计分析:通过图形进行统计,包括客户地区统计、公司年度月份销售统计、业务员年度销售统计

    部分代码展示

    1. public Map<String, Object> initCheckFormData(String rentid) {
    2. //查询出租单
    3. Rent rent = this.rentMapper.selectByPrimaryKey(rentid);
    4. //查询客户
    5. Customer customer = this.customerMapper.selectByPrimaryKey(rent.getIdentity());
    6. //查询车辆
    7. Car car = this.carMapper.selectByPrimaryKey(rent.getCarnumber());
    8. //组装check
    9. Check check = new Check();
    10. check.setCheckid(RandomUtils.createRandomStringUseTime(SysConstant.CAR_ORDER_JC));
    11. check.setRentid(rentid);
    12. check.setCheckdate(new Date());
    13. User user =(User) WebUtils.getHttpSession().getAttribute("user");
    14. check.setOpername(user.getRealname());
    15. Map<String, Object> map = new HashMap<>();
    16. map.put("rent",rent);
    17. map.put("customer",customer);
    18. map.put("car",car);
    19. map.put("check",check);
    20. return map;
    21. }
    22. /**
    23. * 保存检查单数据
    24. * @param checkVo
    25. */
    26. @Override
    27. public void addCheck(CheckVo checkVo) {
    28. this.checkMapper.insertSelective(checkVo);
    29. //更改出租单的状态
    30. Rent rent = this.rentMapper.selectByPrimaryKey(checkVo.getRentid());
    31. //更改为已归还
    32. rent.setRentflag(SysConstant.RENT_BACK_TRUE);
    33. this.rentMapper.updateByPrimaryKeySelective(rent);
    34. //更改汽车的状态
    35. Car car = this.carMapper.selectByPrimaryKey(rent.getCarnumber());
    36. //更改汽车状态为未出租
    37. car.setIsrenting(SysConstant.RENT_CAR_FALSE);
    38. this.carMapper.updateByPrimaryKeySelective(car);
    39. }
    40. /**
    41. * 查询所有检查单
    42. * @param checkVo
    43. * @return
    44. */
    45. @Override
    46. public DataGridView queryAllCheck(CheckVo checkVo) {
    47. Page<Object> page = PageHelper.startPage(checkVo.getPage(), checkVo.getLimit());
    48. List<Check> data = this.checkMapper.queryAllCheck(checkVo);
    49. return new DataGridView(page.getTotal(),data);
    50. }
    51. /**
    52. * 批量删除检查单
    53. * @param ids
    54. */
    55. @Override
    56. public void deleteBatchCheck(String[] ids) {
    57. for (String id : ids) {
    58. this.checkMapper.deleteByPrimaryKey(id);
    59. }
    60. }
    61. /**
    62. * 删除检查单
    63. * @param checkVo
    64. */
    65. @Override
    66. public void deleteCheck(CheckVo checkVo) {
    67. this.checkMapper.deleteByPrimaryKey(checkVo.getCheckid());
    68. }
    69. /**
    70. * 更新检查单
    71. * @param checkVo
    72. */
    73. @Override
    74. public void updateCheck(CheckVo checkVo) {
    75. this.checkMapper.updateByPrimaryKeySelective(checkVo);
    76. }

    演示视频

    基于SSM和layUI的汽车租赁系统设计

  • 相关阅读:
    【前端】jquery获取data-*的属性值
    leetcode:55. 跳跃游戏【经典贪心】
    vr企业视频展示如何制作
    2004-2020年中小企业板上市公司财务报表股票交易董事高管1200+变量数据及说明
    PRISEMI芯导产品选型应用提供方案技术支持
    如何创建项目变更管理流程?
    AttributeError: ‘builtin_function_or_method‘ object has no attribute ‘shuffle‘
    Map.get、Map.set、Map.has方法
    升讯威在线客服系统是如何实现对 IE8 完全完美支持的(怎样从 WebSocket 降级到 Http)【干货】
    Spring Security OAuth Client配置加载源码分析
  • 原文地址:https://blog.csdn.net/qq_28245905/article/details/127746724