大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路,向着优秀程序员前行!
🍅更多优质项目👇🏻👇🏻可点击下方获取🍅文章底部或评论区获取🍅
Java项目精品实战案例《100套》
文章目录
- 项目介绍
- 一、选题背景意义
- 1.项目背景
- 2.系统设计
- 3.技术栈
- 二、运行效果
- 1.登录
- 2.宿舍模块
- 3.学生模块
- 4.楼层模块
- 5.学生记录
- 6.部分代码实现
- 总结
📣 有源码 查看源码
项目介绍
本系统专门针对学校的公寓管理而开发的一个功能齐全、操作简单的学生公寓管理系统。适合学校的宿舍管理人员使用。本系统实现以下基本功能:管理员可以对公寓进行全程管理,不仅可以管理学生,还可以管理寝室人员及外来人员及出入物品,也能方便的进行统计和更改。把软件工程中规范化的软件开发方法应用到本次学生公寓管理系统的开发过程中,以经济地开发出高质量的软件并有效地维护它。
一、选题背景意义
1.项目背景
需求分析处于软件开发过程的开始阶段, 它对于整个软件开发过程以及软件产品质量至关重要,一个系统的产生最重要的就是要知道用户的需求,才能按照用户想要的进行改进。
本设计要实现的是高校学生宿舍管理系统,在设计该系统时,应尽可能的贴近学生,便于用户操作。系统在实现上应该具有如下功能:
(1)系统要求用户必须输入正确的用户名和密码才能进入系统;
(2)系统应该提供学生住宿情况的基木登记。
(3)系统应提供人员来访登记及结束访问的详细登记。
(4)系统应提供学生在校期间物品出入宿舍楼的详细情况登记。
(5)系统应提供查询功能,以方便用户对学生基本信息的查询 (要实现按多种条件的查询)及楼房信息的查询。
(6)系统应提供增加、删除、修改用户帐户的功能
2.系统设计
在整体设计中,我们将宿舍管理系统分为六个大的功能:系统管理功能、公寓管理功能信息查询功能、出入登记功能、信息修改功能。
系统管理功能包括:用户登录、用户密码修改、用户管理、退出系统五个部分。
公寓管理功能包括:楼房管理、宿舍管理二个大的部分。
信息查询功能基本上包括:按学号进行查询、按姓名进行查询、按班级查询、按寝室号查询、每栋楼房住宿情况查询五个部分。
出入登记功能包括:进楼物品登记、出楼物品登记、人员来访登记、结束访问登记四个功能部分。
信息修改功能包括:学生基本信息修改、员工基本信息修改等。
3.技术栈
开发系统:Windows
架构模式:MVC/前后端分离
JDK版本:Java JDK1.8(推荐)
开发工具:IDEA
数据库版本: mysql8.0(推荐)
数据库可视化工具: navicat
服务器:SpringBoot自带 apache tomcat
主要技术:Java,Springboot,mybatis,mysql,jquery,html,vue
二、运行效果
1.登录
2.宿舍模块
3.学生模块
4.楼层模块
5.学生记录
6.部分代码实现
@Service
public class SystemAdminServiceImpl extends ServiceImpl<SystemAdminMapper, SystemAdmin> implements SystemAdminService {
@Autowired
private SystemAdminMapper systemAdminMapper;
@Override
public ResultVO login(RuleForm ruleForm) {
//1、判断用户名是否存在
QueryWrapper<SystemAdmin> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username", ruleForm.getUsername());
SystemAdmin systemAdmin = this.systemAdminMapper.selectOne(queryWrapper);
ResultVO resultVO = new ResultVO();
if (systemAdmin == null) {
resultVO.setCode(-1);
} else {
//2、判断密码是否正确
if (!systemAdmin.getPassword().equals(ruleForm.getPassword())) {
resultVO.setCode(-2);
} else {
resultVO.setCode(0);
resultVO.setData(systemAdmin);
}
}
return resultVO;
}
}
@Service
public class StudentServiceImpl extends ServiceImpl<StudentMapper, Student> implements StudentService {
@Autowired
private StudentMapper studentMapper;
@Autowired
private DormitoryMapper dormitoryMapper;
@Override
public Boolean saveStudent(Student student) {
//添加学生数据
student.setCreateDate(CommonUtil.createDate());
int insert = this.studentMapper.insert(student);
if (insert != 1) return false;
//修改宿舍数据
Dormitory dormitory = this.dormitoryMapper.selectById(student.getDormitoryId());
if (dormitory.getAvailable() == 0) {
return false;
}
dormitory.setAvailable(dormitory.getAvailable() - 1);
int update = this.dormitoryMapper.updateById(dormitory);
if (update != 1) return false;
return true;
}
@Override
public PageVO list(Integer page, Integer size) {
Page<Student> studentPage = new Page<>(page, size);
Page<Student> resultPage = this.studentMapper.selectPage(studentPage, null);
List<Student> studentList = resultPage.getRecords();
//VO转换
List<StudentVO> studentVOList = new ArrayList<>();
for (Student student : studentList) {
StudentVO studentVO = new StudentVO();
BeanUtils.copyProperties(student, studentVO);
Dormitory dormitory = this.dormitoryMapper.selectById(student.getDormitoryId());
studentVO.setDormitoryName(dormitory.getName());
studentVOList.add(studentVO);
}
PageVO pageVO = new PageVO();
pageVO.setData(studentVOList);
pageVO.setTotal(resultPage.getTotal());
return pageVO;
}
@Override
public PageVO search(SearchForm searchForm) {
Page<Student> studentPage = new Page<>(searchForm.getPage(), searchForm.getSize());
Page<Student> resultPage = null;
if (searchForm.getValue().equals("")) {
resultPage = this.studentMapper.selectPage(studentPage, null);
} else {
QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
queryWrapper.like(searchForm.getKey(), searchForm.getValue());
resultPage = this.studentMapper.selectPage(studentPage, queryWrapper);
}
List<Student> studentList = resultPage.getRecords();
//VO转换
List<StudentVO> studentVOList = new ArrayList<>();
for (Student student : studentList) {
StudentVO studentVO = new StudentVO();
BeanUtils.copyProperties(student, studentVO);
Dormitory dormitory = this.dormitoryMapper.selectById(student.getDormitoryId());
studentVO.setDormitoryName(dormitory.getName());
studentVOList.add(studentVO);
}
PageVO pageVO = new PageVO();
pageVO.setData(studentVOList);
pageVO.setTotal(resultPage.getTotal());
return pageVO;
}
@Override
public Boolean update(StudentForm studentForm) {
//更新学生信息
Student student = new Student();
BeanUtils.copyProperties(studentForm, student);
int update = this.studentMapper.updateById(student);
if (update != 1) return false;
//更新宿舍数据
if (!studentForm.getDormitoryId().equals(studentForm.getOldDormitoryId())) {
//old+1,new-1
try {
this.dormitoryMapper.addAvailable(studentForm.getOldDormitoryId());
this.dormitoryMapper.subAvailable(studentForm.getDormitoryId());
} catch (Exception e) {
return false;
}
}
return true;
}
@Override
public Boolean deleteById(Integer id) {
//修改宿舍数据
Student student = this.studentMapper.selectById(id);
try {
Dormitory dormitory = this.dormitoryMapper.selectById(student.getDormitoryId());
if (dormitory.getType() > dormitory.getAvailable()) {
this.dormitoryMapper.addAvailable(student.getDormitoryId());
}
} catch (Exception e) {
return false;
}
//删除学生数据
int delete = this.studentMapper.deleteById(id);
if (delete != 1) return false;
return true;
}
}
📝分享的所有Java项目源码均包含(前端+后台+数据库),可做毕业设计或课程设计,欢迎留言分享问题,交流经验
🍅更多优质项目👇🏻👇🏻可点击下方获取🍅文章底部或评论区获取🍅
Java项目精品实战案例《100套》
总结
📣 有源码 查看源码