当前位置:首页 > 投稿 > 正文内容

湖北学籍管理系统(基于SSM实现学籍管理系统)

福瑞号2022-11-22 05:30:21投稿642

作者主页:编程指南针


简介:Java领域优质创作者、CSDN博客专家 Java项目、简历模板、学习资料、面试题库、技术互助

文末获取源码

项目编号:BS-GX-026

运行环境

jdk8+tomcat8.5+mysql+IntelliJ IDEA(或eclipse)+maven

项目技术(必填)

spring+spring mvc+mybatis+layui+jsp+echarts

本系统是一个基于ssm+layui的学籍管理系统;

本系统比较简单,适用于新手,上手简单易操作,主要是帮助理解java web (ssm框架)项目的整体运行流程,附带着也熟悉一下这种项目的搭建;

本系统具有三种用户: 1.管理员:专业管理,班级管理,学生管理,老师管理,课程管理,开课管理以及用户管理 2.教师:成绩管理,学生查询 3.学生:选课管理,查看成绩

下面展示一下系统功能截图:

湖北学籍管理系统(基于SSM实现学籍管理系统)-图1
湖北学籍管理系统(基于SSM实现学籍管理系统)-图2
湖北学籍管理系统(基于SSM实现学籍管理系统)-图3
湖北学籍管理系统(基于SSM实现学籍管理系统)-图4
湖北学籍管理系统(基于SSM实现学籍管理系统)-图5
湖北学籍管理系统(基于SSM实现学籍管理系统)-图6
湖北学籍管理系统(基于SSM实现学籍管理系统)-图7
湖北学籍管理系统(基于SSM实现学籍管理系统)-图8
湖北学籍管理系统(基于SSM实现学籍管理系统)-图9
湖北学籍管理系统(基于SSM实现学籍管理系统)-图10

老师身份登陆

湖北学籍管理系统(基于SSM实现学籍管理系统)-图11

学生身份登陆

湖北学籍管理系统(基于SSM实现学籍管理系统)-图12
湖北学籍管理系统(基于SSM实现学籍管理系统)-图13

以上是基于SSM实现的学籍管理系统的部分功能展示,本系统功能完整,界面美观,适合做毕业设计使用。

部分实现代码:

package com.niudada.service;

import com.github.pagehelper.PageHelper;
import com.niudada.dao.CourseDao;
import com.niudada.entity.Course;
import com.niudada.utils.BeanMapUtils;
import com.niudada.utils.MapParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class CourseService {

@Autowired
private CourseDao courseDao;

//添加
public int create(Course pi) {
return courseDao.create(pi);
}

//删除
public int delete(Integer id) {
return courseDao.delete(MapParameter.getInstance().addId(id).getMap());
}

//批量删除
public int delete(String ids) {
int count = 0; //count表示删除的记录条数
for (String str : ids.split(",")) {
count = courseDao.delete(MapParameter.getInstance().addId(Integer.parseInt(str)).getMap());
}
return count;
}

//修改
public int update(Course course) {
Map<String, Object> map = MapParameter.getInstance().add(BeanMapUtils.beanToMapForUpdate(course)).addId(course.getId()).getMap();
return courseDao.update(map);
}

//查询
public List<Course> query(Course course) {
if(course != null && course.getPage() != null) {
PageHelper.startPage(course.getPage(),course.getLimit());
}
return courseDao.query(BeanMapUtils.beanToMap(course));
}

//根据id查询
public Course detail(Integer id) {
return courseDao.detail(MapParameter.getInstance().addId(id).getMap());
}

//查询总记录条数
public int count(Course course) {
return courseDao.count(BeanMapUtils.beanToMap(course));
}

}

package com.niudada.service;

import com.github.pagehelper.PageHelper;
import com.niudada.dao.JobDao;
import com.niudada.entity.Job;
import com.niudada.utils.BeanMapUtils;
import com.niudada.utils.MapParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class JobService {

@Autowired
private JobDao jobDao;

//添加
public int create(Job pi) {
return jobDao.create(pi);
}

//删除
public int delete(Integer id) {
return jobDao.delete(MapParameter.getInstance().addId(id).getMap());
}

//批量删除
public int delete(String ids) {
int count = 0; //count表示删除的记录条数
for (String str : ids.split(",")) {
count = jobDao.delete(MapParameter.getInstance().addId(Integer.parseInt(str)).getMap());
}
return count;
}

//修改
public int update(Job job) {
Map<String, Object> map = MapParameter.getInstance().add(BeanMapUtils.beanToMapForUpdate(job)).addId(job.getId()).getMap();
return jobDao.update(map);
}

//查询
public List<Job> query(Job job) {
if(job != null && job.getPage() != null) {
PageHelper.startPage(job.getPage(),job.getLimit());
}
return jobDao.query(BeanMapUtils.beanToMap(job));
}

//根据id查询
public Job detail(Integer id) {
return jobDao.detail(MapParameter.getInstance().addId(id).getMap());
}

//查询总记录条数
public int count(Job job) {
return jobDao.count(BeanMapUtils.beanToMap(job));
}

}

package com.niudada.service;

import com.github.pagehelper.PageHelper;
import com.niudada.dao.ScoreDao;
import com.niudada.entity.Score;
import com.niudada.utils.BeanMapUtils;
import com.niudada.utils.MapParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class ScoreService {

@Autowired
private ScoreDao scoreDao;

//添加
public int create(String sectionIds,String courseIds,Integer studentId) {
//清除已有选课数据
Map<String, Object> map = MapParameter.getInstance().add("stuId", studentId).getMap();
scoreDao.delete(map);
//批量保存
int flag = 0;
String[] sectionIdArr = sectionIds.split(",");
String[] courseIdArr = courseIds.split(",");
for(int i = 0; i < sectionIdArr.length; i++) {
Score score = new Score();
score.setCourseId(Integer.parseInt(courseIdArr[i]));
score.setSectionId(Integer.parseInt(sectionIdArr[i]));
score.setStuId(studentId);
flag = scoreDao.create(score);
}
return flag;
}

//批量删除
public int delete(String ids) {
int count = 0; //count表示删除的记录条数
for (String str : ids.split(",")) {
count = scoreDao.delete(MapParameter.getInstance().addId(Integer.parseInt(str)).getMap());
}
return count;
}

//修改
public int update(Score score) {
Map<String, Object> map = MapParameter.getInstance().add(BeanMapUtils.beanToMapForUpdate(score)).addId(score.getId()).getMap();
return scoreDao.update(map);
}

//查询
public List<Score> query(Score score) {
if(score != null && score.getPage() != null) {
PageHelper.startPage(score.getPage(),score.getLimit());
}
return scoreDao.query(BeanMapUtils.beanToMap(score));
}

//根据id查询
public Score detail(Integer id) {
return scoreDao.detail(MapParameter.getInstance().addId(id).getMap());
}

//查询总记录条数
public int count(Score score) {
return scoreDao.count(BeanMapUtils.beanToMap(score));
}

//老师评分,修改成绩
public int update(Integer courseId,Integer sectionId,String stuIds,String scores) {

String[] stuIdArray = stuIds.split(",");
String[] scoresArray = scores.split(",");
int flag = 0;
for(int i = 0; i < stuIdArray.length; i++) {
Map<String, Object> map = MapParameter.getInstance()
.add("courseId", courseId)
.add("sectionId", sectionId)
.add("stuId", Integer.parseInt(stuIdArray[i]))
.add("updateScore", Double.parseDouble(scoresArray[i]))
.getMap();
flag = scoreDao.update(map);
}
return flag;
}

//查询各科平均成绩
public List<HashMap>queryAvgScoreBySection(){
List<HashMap> mapList = scoreDao.queryAvgScoreBySection(null);
return mapList;
}
}

package com.niudada.service;

import com.github.pagehelper.PageHelper;
import com.niudada.dao.SectionDao;
import com.niudada.entity.Section;
import com.niudada.utils.BeanMapUtils;
import com.niudada.utils.MapParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class SectionService {

@Autowired
private SectionDao sectionDao;

//添加
public int create(Section pi) {
return sectionDao.create(pi);
}

//删除
public int delete(Integer id) {
return sectionDao.delete(MapParameter.getInstance().addId(id).getMap());
}

//批量删除
public int delete(String ids) {
int count = 0;
for (String str : ids.split(",")) {
count = sectionDao.delete(MapParameter.getInstance().addId(Integer.parseInt(str)).getMap());
}
return count;
}

//修改
public int update(Section section) {
Map<String, Object> map = MapParameter.getInstance().add(BeanMapUtils.beanToMapForUpdate(section)).addId(section.getId()).getMap();
return sectionDao.update(map);
}

//查询
public List<Section> query(Section section) {
if(section != null && section.getPage() != null) {
PageHelper.startPage(section.getPage(),section.getLimit());
}
return sectionDao.query(BeanMapUtils.beanToMap(section));
}

//根据id查询
public Section detail(Integer id) {
return sectionDao.detail(MapParameter.getInstance().addId(id).getMap());
}

//查询总记录条数
public int count(Section section) {
return sectionDao.count(BeanMapUtils.beanToMap(section));
}

//按照学生查询班级开课
public List<Section> queryByStudent(Integer studentId) {
return sectionDao.queryByStudent(MapParameter.getInstance().add("studentId",studentId).getMap());
}
}

package com.niudada.service;

import com.github.pagehelper.PageHelper;
import com.niudada.dao.TeacherDao;
import com.niudada.entity.Teacher;
import com.niudada.utils.BeanMapUtils;
import com.niudada.utils.MD5Utils;
import com.niudada.utils.MapParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class TeacherService {

@Autowired
private TeacherDao teacherDao;

//添加
public int create(Teacher pi) {
//设置密码加密
pi.setTeacherPwd(MD5Utils.getMD5(pi.getTeacherPwd()));
return teacherDao.create(pi);
}

//删除
public int delete(Integer id) {
return teacherDao.delete(MapParameter.getInstance().addId(id).getMap());
}

//批量删除
public int delete(String ids) {
int count = 0;
for (String str : ids.split(",")) {
count = teacherDao.delete(MapParameter.getInstance().addId(Integer.parseInt(str)).getMap());
}
return count;
}

//修改
public int update(Teacher teacher) {
Map<String, Object> map = MapParameter.getInstance().add(BeanMapUtils.beanToMapForUpdate(teacher)).addId(teacher.getId()).getMap();
return teacherDao.update(map);
}

//查询
public List<Teacher> query(Teacher teacher) {
if(teacher != null && teacher.getPage() != null){
PageHelper.startPage(teacher.getPage(),teacher.getLimit());
}
return teacherDao.query(BeanMapUtils.beanToMap(teacher));
}

//根据id查询
public Teacher detail(Integer id) {
return teacherDao.detail(MapParameter.getInstance().addId(id).getMap());
}

//查询总记录数
public int count(Teacher teacher) {
return teacherDao.count(BeanMapUtils.beanToMap(teacher));
}

//登录
public Teacher login(String userName, String password){
Map<String, Object> map = MapParameter.getInstance()
.add("teacherName", userName)
.add("teacherPwd", password)
.getMap();
return teacherDao.detail(map);
}


}

扫描二维码推送至手机访问。

版权声明:本文由福瑞号发布,如需转载请注明出处。

本文链接:http://furui.com.cn/3628.html

“湖北学籍管理系统(基于SSM实现学籍管理系统)” 的相关文章

华为mate50系列是不是5g的(华为Mate)

华为mate50系列是不是5g的(华为Mate)

一:华为Mate 50不是5G手机 华为Mate 50搭载高通骁龙8+ 4G处理器,不支持5G基带,无法使用5G网络。 二:华为Mate 50网络制式及双卡使用说明 华为Mate 50仅支持联通4G+/4G/3G/2G,移动/电信 4G+/4G/2G网络制式。不支持移动3G和电信3G。 卡槽1、2...

大庆套刷信用卡取现(超详细)

大庆套刷信用卡取现(超详细)

足不出户能挣钱 网上“刷单”做兼职 “无风险”投资理财 …… 遇到这样的事情 你可千万提高警惕 谨防上当受骗 近日 大庆市公安局防控中心 精心梳理并公布了 五类高发电信诈骗案例 提醒广大市民 远离“电诈” 一、网络刷单类诈骗 案例分享: 李某报案称:早上,他的QQ弹出来一个对话框,问其有没有兴...

我的眼里只有你歌词(景岗山:我的眼里只有你)

我的眼里只有你歌词(景岗山:我的眼里只有你)

喜欢本号的话请关注花边八卦爆料,并把本文分享给您的朋友,每日不定时更新最新八卦爆料。您的关注是我们发展的动力!猜一猜答案请关注评论! 我说我的眼里只有你,只有你让我无法忘记,度过每一个黑夜和每一个白天,在你身边守护着你。我说我的眼里只有你,你是我生命中的奇迹,但愿我们感动天,我们能感动地,让我们生死...

pgg是哪个赛区(比RNG更加励志)

pgg是哪个赛区(比RNG更加励志)

前言:相信在此次英雄联盟MSI之前,很少有人知道PGG什么来头,甚至MSI从开赛到现在已经四五天的时间,还有人不了解PGG这支队伍。但其实这支队伍背后也有足够励志的故事,他们的处境让人替他们难过,但他们在这种处境中逆袭,拿下了小组赛的第二个出线名额,他们在不利的处境中存活了下来,并且在关键时刻战胜了...

老诺基亚所有型号列表(史上经典诺基亚机型大全)

老诺基亚所有型号列表(史上经典诺基亚机型大全)

诺基亚是众多手机品牌中最具传奇色彩的一个,尽管如今诺基亚的表现并不尽如人意,但它所留下的神话却依旧令人惊叹不已。今天,小编就为大家盘点一下诺基亚手机发展史上的经典机型。   非智能手机   1.诺基亚Talkman   这款手机于1985年推出,在体积方面稍显巨大,并不是一款便携的手机产品。不过,这...

剑三团队监控插件(剑网3:觉得重制版画面色调太艳了)

剑三团队监控插件(剑网3:觉得重制版画面色调太艳了)

游戏《剑网三》,觉得重制版画面色调太艳了,包括服装和场景。首先ff14的pve在满级后比较难(现在4.0已经比以前简单了很多很多),古老的2.0时期设计的升级体验曲线并不好,但是满级后很多副本难度过高,当年2个中难度副本劝退了很多所谓魔兽老司机,而那2个副本设计出来本来是给大众打的。gcd2.5秒这...