作者主页:源码空间站2022
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
1.系统默认超级管理员账号为admin,默认密码为123456
系统配置:用户管理、角色管理、权限管理
默认已配置好基本数据:用户默认只有一个超级管理员,角色有三种:管理员、教师、学生,权限已按照角色分配完成。
2.系统建设
a.建设简介:
学校建设需要按照系部 > 专业 > 年级 > 班级的顺序进行建设。每项管理均提供精确/条件查询,可快速定位所需信息。
b.系部建设
c.专业建设
d.年级建设
3,课目建设
a.课目介绍
b.添加必修课目
c.添加选修课目
d.课目启动与暂停
4.教师管理
a.教师授课管理
b.录入教师
c.教师信息查询
5.学生管理:
a,退学信息
b.录入学生
c.学生信息查询
6.成绩管理
a.学生成绩管理
b.教师成绩管理
7.校园新闻:
a,新闻管理
b.发布新闻
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
1. 后端:SpringBoot+Thymeleaf
2. 前端:HTML+CSS+jQuery+LayUI
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;注:要修改最下方profiles:dev相关的配置;
4. 运行项目,输入localhost:8080/home 登录
管理员账号/密码:admin/123456
教师账号/密码:2020001/123456
学生账号/密码:15020002/123456
运行截图
代码相关
学生管理控制器
@Controller
//使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法
public class AddStudentController {
@Autowired // 自动注入
private StudentService studentService;
@Autowired
private AddStudentService addStudentService;
@RequestMapping("/addStudentPage")
public String selPolitics(Model model){
// 查询政治面貌表
List<PoliticsTypeDB> stupol = studentService.selPolitics();
model.addAttribute("stupol",stupol);
return "view/student/addStudent";
}
// 添加学生
@RequestMapping("addStudent") // 用来处理请求地址映射的注解
@ResponseBody // 通常用来返回JSON数据给客户端
public LayuiResult<StudentDB> addStudent(StudentVO studentVO, String birthday, String tertime) throws Exception{
LayuiResult<StudentDB> result= new LayuiResult<>();
// 将接收到的时间进行类型转换
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date1=format.parse(birthday);
Date date2=format.parse(tertime);
studentVO.setSbirthday(date1);
studentVO.setEntertime(date2);
// 判断该年份是否已存在学生
Integer year = addStudentService.selectStuYear(studentVO.getClassid());
if(year !=0 ){
// 若该年份学生为空时 则添加一条分割线
Integer fenge = addStudentService.stuSegmentation(studentVO.getClassid());
}
// 生成学生学号
String stui = addStudentService.selStuid(studentVO.getGid());
studentVO.setStuid(stui);
studentVO.setSid(Integer.valueOf(stui));
// 根据前台传来信息添加学生
Integer addStudent = addStudentService.addStudent(studentVO);
// 获取学号
String stuid = studentVO.getStuid();
// 根据学号查询学生id编号
Integer sid = addStudentService.selectSid(stuid);
// 获取所选专业id
Integer mid = studentVO.getMid();
// 根据学生专业查询该专业开设的必修课程
List<CourseDB> selCourse = addStudentService.selCourse(mid);
for(CourseDB cou : selCourse){
// 将学生id以及必修课程的id添加至学生选课表
Integer addStuCourse = addStudentService.addStuCourse(sid,cou.getCid());
System.out.println(addStuCourse);
}
// 班级人数+1
Integer selClassinfo = addStudentService.selecteClassinfo(studentVO.getClassid());
// 年级人数+1
Integer selGrade = addStudentService.selecteGrade(studentVO.getGid());
// 专业人数+1
Integer selMajor = addStudentService.selecteMajor(studentVO.getMid());
// 系部人数+1
Integer selDepartment = addStudentService.selecteDepartment(studentVO.getDid());
// 根据学号查询信息
List<StudentDB> stu = addStudentService.selectMessage(stuid);
// 查询sys_role角色id
String id = addStudentService.selectRole();
result.setData(stu);
result.setMsg(id);
return result;
}
}
新闻管理控制器
@Controller
@RequestMapping("news")
public class NewsController extends BaseController {
@Autowired
private NewsService newsService;
/**
* 进入发布文章页面
* @return
*/
@RequestMapping("addnews")
public String addnews() {
return "view/news/addnews";
}
/**
* 进入新闻公示管理页面
* @return
*/
@RequestMapping("newscontrol")
public String newscontrol() {
return "view/news/newscontrol";
}
/**
* 发布新闻
*/
@RequestMapping("addingnews")
@ResponseBody
public Object addingNews(NewsinfoDB newsinfoDB){
int r = newsService.addNews(newsinfoDB);
if(r==1){
return true;
}else{
return false;
}
}
/**
* 获取新闻列表
*/
@RequestMapping("findallnews")
@ResponseBody
public Object findallnews(NewsinfoDB newsinfoDB, Integer page, Integer limit){
PageHelper.startPage(page, limit);
List<NewsinfoDB> listAll = newsService.findAllNews(newsinfoDB);
PageInfo pageInfo = new PageInfo(listAll);
Map<String, Object> newsData = new HashMap<String, Object>();
//这是layui要求返回的json数据格式
newsData.put("code", 0);
newsData.put("msg", "");
//将全部数据的条数作为count传给前台(一共多少条)
newsData.put("count", pageInfo.getTotal());
//将分页后的数据返回(每页要显示的数据)
newsData.put("data", pageInfo.getList());
return newsData;
}
/**
* 删除新闻
* */
@RequestMapping("deletenews")
@ResponseBody
public Object deleteNews(Integer nid){
int r = newsService.deleteNews(nid);
if(r==1){
return true;
}else{
return false;
}
}
/**
* 编辑新闻
*/
@RequestMapping("editingnews")
@ResponseBody
public Object editNews(NewsinfoDB newsinfoDB){
int r = newsService.editNews(newsinfoDB);
if(r==1){
return true;
}else{
return false;
}
}
}
如果也想学习本系统,下面领取。回复:082springboot