ssm学生信息管理系统源码和论文075
开发工具:idea
数据库mysql5.7+
数据库链接工具:navcat,小海豚等
技术:ssm
摘 要
传统办法管理学生信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装学生信息管理系统软件来发挥其高效地信息处理的作用,可以规范学生信息管理流程,让管理工作可以系统化和程序化,同时,学生信息管理系统的有效运用可以帮助管理人员准确快速地处理信息。
学生信息管理系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为Eclipse,选择的数据库工具为Mysql。以此搭建开发环境实现学生信息管理系统的功能。其中管理员管理班级和课程的关系,管理奖惩类型,课程和专业信息。老师负责学生成绩和学生奖惩信息的管理,查询任课课程。学生主要查询成绩,查询奖惩信息,查看班级和班级课程。
学生信息管理系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,学生信息管理系统都可以轻松应对。
关键词:学生信息管理系统;学生成绩;奖惩信息;班级课程
选题动因
当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用,以及各种计算机硬件的完善和升级,市面上的电脑和笔记本的性能都得到提升,可以支持的软件也逐渐增多,因此,在计算机上安装软件来发挥其高效地信息处理的作用,则很受人们的青睐。对于学生信息来讲,通过手工形式处理,在面对庞大的信息数量时,就显得不适宜了,首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,为了解决上述问题,有必要建立学生信息管理系统,来规范学生信息管理流程,让管理工作可以系统化和程序化,同时,学生信息管理系统的有效运用可以帮助管理人员准确快速地处理信息。
package com.controller;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.StringUtil;
import java.lang.reflect.InvocationTargetException;
import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.JiangchengEntity;
import com.service.JiangchengService;
import com.entity.view.JiangchengView;
import com.service.YonghuService;
import com.entity.YonghuEntity;
import com.utils.PageUtils;
import com.utils.R;
/**
* 学生奖惩
* 后端接口
* @author
* @email
* @date 2021-04-06
*/
@RestController
@Controller
@RequestMapping("/jiangcheng")
public class JiangchengController {
private static final Logger logger = LoggerFactory.getLogger(JiangchengController.class);
@Autowired
private JiangchengService jiangchengService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
//级联表service
@Autowired
private YonghuService yonghuService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
String role = String.valueOf(request.getSession().getAttribute("role"));
if(StringUtil.isNotEmpty(role) && "用户".equals(role)){
params.put("yonghuId",request.getSession().getAttribute("userId"));
}
params.put("orderBy","id");
PageUtils page = jiangchengService.queryPage(params);
//字典表数据转换
List<JiangchengView> list =(List<JiangchengView>)page.getList();
for(JiangchengView c:list){
//修改对应字典表字段
dictionaryService.dictionaryConvert(c);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
JiangchengEntity jiangcheng = jiangchengService.selectById(id);
if(jiangcheng !=null){
//entity转view
JiangchengView view = new JiangchengView();
BeanUtils.copyProperties( jiangcheng , view );//把实体数据重构到view中
//级联表
YonghuEntity yonghu = yonghuService.selectById(jiangcheng.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody JiangchengEntity jiangcheng, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,jiangcheng:{}",this.getClass().getName(),jiangcheng.toString());
Wrapper<JiangchengEntity> queryWrapper = new EntityWrapper<JiangchengEntity>()
.eq("yonghu_id", jiangcheng.getYonghuId())
.eq("jiangcheng_name", jiangcheng.getJiangchengName())
.eq("jiangcheng_types", jiangcheng.getJiangchengTypes())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
JiangchengEntity jiangchengEntity = jiangchengService.selectOne(queryWrapper);
if(jiangchengEntity==null){
jiangcheng.setInsertTime(new Date());
jiangcheng.setCreateTime(new Date());
// String role = String.valueOf(request.getSession().getAttribute("role"));
// if("".equals(role)){
// jiangcheng.set
// }
jiangchengService.insert(jiangcheng);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody JiangchengEntity jiangcheng, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,jiangcheng:{}",this.getClass().getName(),jiangcheng.toString());
//根据字段查询是否有相同数据
Wrapper<JiangchengEntity> queryWrapper = new EntityWrapper<JiangchengEntity>()
.notIn("id",jiangcheng.getId())
.andNew()
.eq("yonghu_id", jiangcheng.getYonghuId())
.eq("jiangcheng_name", jiangcheng.getJiangchengName())
.eq("jiangcheng_types", jiangcheng.getJiangchengTypes())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
JiangchengEntity jiangchengEntity = jiangchengService.selectOne(queryWrapper);
if(jiangchengEntity==null){
// String role = String.valueOf(request.getSession().getAttribute("role"));
// if("".equals(role)){
// jiangcheng.set
// }
jiangchengService.updateById(jiangcheng);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
jiangchengService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}