很多初学编程的同学经常有一个误区,认为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有些相似,但该框架有个极大的好处就是定义了很多前后端交互的样式接口,如分页表格,只需在前端配置好接口,后端则按照定义好的接口规则返回数据,即可完成页面的展示,极大减少了后端人员的开发成本。
实现的功能
管理员可以登录后台管理系统
基础管理:客户管理、车辆管理
业务管理:汽车出租、出租单管理、汽车入库、检查单管理
系统管理:菜单管理、角色管理、用户管理、日志管理、公告管理、数据监控
统计分析:通过图形进行统计,包括客户地区统计、公司年度月份销售统计、业务员年度销售统计
部分代码展示
public Map<String, Object> initCheckFormData(String rentid) {
//查询出租单
Rent rent = this.rentMapper.selectByPrimaryKey(rentid);
//查询客户
Customer customer = this.customerMapper.selectByPrimaryKey(rent.getIdentity());
//查询车辆
Car car = this.carMapper.selectByPrimaryKey(rent.getCarnumber());
//组装check
Check check = new Check();
check.setCheckid(RandomUtils.createRandomStringUseTime(SysConstant.CAR_ORDER_JC));
check.setRentid(rentid);
check.setCheckdate(new Date());
User user =(User) WebUtils.getHttpSession().getAttribute("user");
check.setOpername(user.getRealname());
Map<String, Object> map = new HashMap<>();
map.put("rent",rent);
map.put("customer",customer);
map.put("car",car);
map.put("check",check);
return map;
}
/**
* 保存检查单数据
* @param checkVo
*/
@Override
public void addCheck(CheckVo checkVo) {
this.checkMapper.insertSelective(checkVo);
//更改出租单的状态
Rent rent = this.rentMapper.selectByPrimaryKey(checkVo.getRentid());
//更改为已归还
rent.setRentflag(SysConstant.RENT_BACK_TRUE);
this.rentMapper.updateByPrimaryKeySelective(rent);
//更改汽车的状态
Car car = this.carMapper.selectByPrimaryKey(rent.getCarnumber());
//更改汽车状态为未出租
car.setIsrenting(SysConstant.RENT_CAR_FALSE);
this.carMapper.updateByPrimaryKeySelective(car);
}
/**
* 查询所有检查单
* @param checkVo
* @return
*/
@Override
public DataGridView queryAllCheck(CheckVo checkVo) {
Page<Object> page = PageHelper.startPage(checkVo.getPage(), checkVo.getLimit());
List<Check> data = this.checkMapper.queryAllCheck(checkVo);
return new DataGridView(page.getTotal(),data);
}
/**
* 批量删除检查单
* @param ids
*/
@Override
public void deleteBatchCheck(String[] ids) {
for (String id : ids) {
this.checkMapper.deleteByPrimaryKey(id);
}
}
/**
* 删除检查单
* @param checkVo
*/
@Override
public void deleteCheck(CheckVo checkVo) {
this.checkMapper.deleteByPrimaryKey(checkVo.getCheckid());
}
/**
* 更新检查单
* @param checkVo
*/
@Override
public void updateCheck(CheckVo checkVo) {
this.checkMapper.updateByPrimaryKeySelective(checkVo);
}
演示视频
基于SSM和layUI的汽车租赁系统设计