当前位置: 首页 > 编程日记 > 正文

Java项目:基于遗传算法学校排课系统(java+Springboot+Maven+mybatis+Vue+Mysql)

源码获取:博客首页 "资源" 里下载!

一、项目简述

本系统功能包括:
排课管理,课程管理,讲师管理,班级管理,学生管理,教学资料,学习文档,在线测试,教材列表,教学设计,帮助中心等等功能。

二、项目运行

环境配置:

Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。

项目技术:

Springboot + Maven + mybatis+ Vue 等等组成,B/S模式 + Maven管理等等。


管理员控制器:

/*** 管理员控制器*/
@RestController
public class AdminController {@Resource(name = "adminService")private IAdminService adminService;/*** 管理员 查询管理员列表*/@RequestMapping(value = "/admin/qryPage", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public ListResult<Admin> qryPage(HttpRequest request) {Map<String, Object> param = new HashMap<>();int pageNo = request.containsKey("page_no") ? request.getInteger("page_no") : 1;int pageSize = request.containsKey("page_size") ? request.getInteger("page_size") : 20;if (request.containsKey("login_name")) {param.put("login_name", request.getString("login_name"));}if (request.containsKey("name")) {param.put("name", request.getString("name"));}return adminService.qryPage(param, pageNo, pageSize);}/*** 管理员 添加管理员*/@RequestMapping(value = "/admin/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public Result<Admin> insert(HttpRequest request) {Admin admin = new Admin();admin.setLoginName(request.getString("login_name"));admin.setName(request.getString("admin_name"));admin.setPwd(request.getString("login_name"));admin.setSex(request.getInteger("sex"));admin.setUpdateTime(new Date());return adminService.insert(admin, ImageUtil.stringToBytes(request.getString("admin_image")));}/*** 管理员 更新管理员*/@RequestMapping(value = "/admin/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public Result<Admin> update(HttpRequest request) {Admin admin = new Admin();admin.setLoginName(request.getString("login_name"));admin.setName(request.getString("admin_name"));admin.setPwd(request.getString("login_name"));admin.setSex(request.getInteger("sex"));admin.setUpdateTime(new Date());return adminService.update(admin, ImageUtil.stringToBytes(request.getString("admin_image")));}/*** 管理员 删除管理员*/@RequestMapping(value = "/admin/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public Result<Admin> del(HttpRequest request) {List<String> adminIdList = new ArrayList<>();JSONArray array = request.getJSONArray("admin_id_list");for (int i = 0; i < array.size(); i++) {adminIdList.add(array.getString(i));}return adminService.del(adminIdList);}
}

学生控制器:

/*** 学生控制器*/
@RestController
public class StudentController {@Resource(name = "studentService")private IStudentService studentService;/*** 管理员 查询学生列表*/@RequestMapping(value = "/student/qryPage", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public ListResult<Student> qryPage(HttpRequest request) {Map<String, Object> param = new HashMap<>();int pageNo = request.containsKey("page_no") ? request.getInteger("page_no") : 1;int pageSize = request.containsKey("page_size") ? request.getInteger("page_size") : 20;if (request.containsKey("student_id")) {param.put("student_id", request.getString("student_id"));}if (request.containsKey("name")) {param.put("name", request.getString("name"));}return studentService.qryPage(param, pageNo, pageSize);}@RequestMapping(value = "/student/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public Result<Student> insert(HttpRequest request) {Student student = new Student();student.setStudentId(request.getString("student_id"));student.setName(request.getString("student_name"));student.setPwd(request.getString("student_id"));student.setSex(request.getInteger("sex"));student.setClassId(request.getString("class_id"));student.setUpdateTime(new Date());return studentService.insert(student, ImageUtil.stringToBytes(request.getString("student_image")));}@RequestMapping(value = "/student/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public Result<Student> update(HttpRequest request) {Student student = new Student();student.setStudentId(request.getString("student_id"));student.setName(request.getString("student_name"));student.setPwd(request.getString("student_id"));student.setSex(request.getInteger("sex"));student.setClassId(request.getString("class_id"));student.setUpdateTime(new Date());return studentService.update(student, ImageUtil.stringToBytes(request.getString("student_image")));}@RequestMapping(value = "/student/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public Result<Student> del(HttpRequest request) {List<String> studentIdList = new ArrayList<>();JSONArray array = request.getJSONArray("student_id_list");for (int i = 0; i < array.size(); i++) {studentIdList.add(array.getString(i));}return studentService.del(studentIdList);}}

教师控制器:

/*** 教师控制器*/
@RestController
public class TeacherController {@Resource(name = "teacherService")private ITeacherService teacherService;/*** 管理员 查询教师列表*/@RequestMapping(value = "/teacher/qryPage", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public ListResult<Teacher> qryPage(HttpRequest request) {Map<String, Object> param = new HashMap<>();int pageNo = request.containsKey("page_no") ? request.getInteger("page_no") : 1;int pageSize = request.containsKey("page_size") ? request.getInteger("page_size") : 20;if (request.containsKey("teacher_id")) {param.put("teacher_id", request.getString("teacher_id"));}if (request.containsKey("name")) {param.put("name", request.getString("name"));}return teacherService.qryPage(param, pageNo, pageSize);}/*** 管理员 添加教师*/@RequestMapping(value = "/teacher/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public Result<Teacher> insert(HttpRequest request) {Teacher teacher = new Teacher();teacher.setTeacherId(request.getString("teacher_id"));teacher.setName(request.getString("teacher_name"));teacher.setPwd(request.getString("teacher_id"));teacher.setSex(request.getInteger("sex"));teacher.setUpdateTime(new Date());return teacherService.insert(teacher, ImageUtil.stringToBytes(request.getString("teacher_image")));}/*** 管理员 更新教师属性*/@RequestMapping(value = "/teacher/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public Result<Teacher> update(HttpRequest request) {Teacher teacher = new Teacher();teacher.setTeacherId(request.getString("teacher_id"));teacher.setName(request.getString("teacher_name"));teacher.setPwd(request.getString("teacher_id"));teacher.setSex(request.getInteger("sex"));teacher.setUpdateTime(new Date());return teacherService.update(teacher, ImageUtil.stringToBytes(request.getString("teacher_image")));}/*** 管理员 删除教师*/@RequestMapping(value = "/teacher/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public Result<Teacher> del(HttpRequest request) {List<String> teacherIdList = new ArrayList<>();JSONArray array = request.getJSONArray("teacher_id_list");for (int i = 0; i < array.size(); i++) {teacherIdList.add(array.getString(i));}return teacherService.del(teacherIdList);}/*** 管理员 查询所有任教老师*/@RequestMapping(value = "/teacher/qryAllList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})@RoleAnnotation(types = {RoleEnum.admin})public ListResult<Teacher> qryAllList() {return teacherService.qryAllList();}
}

登录信息角色判断业务:

@Controller
public class LoginController {@Autowiredprivate UserService userService;@Autowiredprivate TeacherService teacherService;@Autowiredprivate StudentService studentService;//跳转登录页面@GetMapping("/login")public String login() {return "login";}//登录操作@PostMapping("/login")@ResponseBodypublic Map<String, Object> login(String userName, String password, String captcha, String type, HttpSession session) {//判断用户名、密码、用户类型、验证码是否为空if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password) || StringUtils.isEmpty(captcha) || StringUtils.isEmpty(type)) {return MapControl.getInstance().error("用户名或密码不能为空").getMap();}//获取系统生成的验证码String _captcha = (String) session.getAttribute("captcha");//先判断验证码是否正确if (!(captcha.toLowerCase()).equals(_captcha.toLowerCase())) {//验证码错误return MapControl.getInstance().error("验证码错误").getMap();}//判断用户类型if ("1".equals(type)) { //管理员验证登录User user = userService.login(userName, MD5Utils.getMD5(password)); //对密码进行加密处理,因为数据库中存储的是加密后的密码if (user != null) {session.setAttribute("user", user);session.setAttribute("type", 1);return MapControl.getInstance().success().add("data", user).getMap();} else {return MapControl.getInstance().error("用户名或密码错误").getMap();}}if ("2".equals(type)) { //老师验证登录Teacher teacher = teacherService.login(userName, MD5Utils.getMD5(password));if (teacher != null) {session.setAttribute("user", teacher);session.setAttribute("type", "2");return MapControl.getInstance().success().add("data", teacher).getMap();} else {return MapControl.getInstance().error("用户名或密码错误").getMap();}}if ("3".equals(type)) { //学生验证登录Student student = studentService.login(userName, MD5Utils.getMD5(password));if (student != null) {session.setAttribute("user", student);session.setAttribute("type", "3");return MapControl.getInstance().success().add("data", student).getMap();} else {return MapControl.getInstance().error("用户名或密码错误").getMap();}}return MapControl.getInstance().getMap();}}

源码获取:博客首页 "资源" 里下载!

相关文章:

冲刺周期会议七

一、会议时间&#xff1a;2014年5月6日20:30--21:00 二、会议地点&#xff1a;学院楼一楼大厅 三、会议目的:统计任务进度&#xff0c;记录会议问题 四、会议内容&#xff1a; 1、对近几天的项目进度进行总结&#xff1a; 由于刚刚开始学习安卓&#xff0c;无论是配置环境还是学…

chrdev字符设备几种注册方式的差异

数据结构 #define CHRDEV_MAJOR_HASH_SIZE 255static struct char_device_struct {struct char_device_struct *next;unsigned int major;unsigned int baseminor;int minorct;char name[64];struct file_operations *fops;struct cdev *cdev; /* will die */ } *chrdevs[CHRD…

ldconfig及 LD_LIBRARY_PATH

ldconfig及 LD_LIBRARY_PATH 1. 往/lib和/usr/lib里面加东西&#xff0c;是不用修改/etc/ld.so.conf的&#xff0c;但是完了之后要调一下ldconfig&#xff0c;不然这个library会找不到 2.想往上面两个目录以外加东西的时候&#xff0c;一定要修改/etc/ld.so.conf&#xff0c;然…

Java项目:诚途旅游系统(java+JSP+Spring+SSM+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 采用ssm架构实现的旅游网站系统 包括网站展示和后台管理功能&#xff0c;网站主要是页面浏览以及评论、制定旅游方案、智能推荐功能 后台就是维护网站展示的内容&#xff0c;添加旅游景点、管理用户、查看…

combotree

1&#xff0c;直接获取&#xff1a; 单选&#xff1a;$("#id").combotree("getValue") 多选&#xff1a;$("#id").combotree("getValues") 注意&#xff1a;如果value中的值和所显示的文本不同&#xff0c;如需获取文本内…

SCRIPT1028:缺少标识符、字符串或数字 jquery ajax

2019独角兽企业重金招聘Python工程师标准>>> SCRIPT1028:缺少标识符、字符串或数字 使用jquery时报此错误 究其原因是对象键值对格式错误&#xff1a; 原格式&#xff1a; 多了一个逗号obj { "usernmae":"zhangsan", "sex"…

IOS 编程中引用第三方的方类库的方法及常见问题

方法一:直接复制全部源文件到项目中 这样的方法就是把第三方类库的全部源文件复制到项目中。直接把全部.h和.m文件拖到XCode项目中就可以。 注意&#xff1a; 1. 假设第三方类库引用了一些系统自带类库。那么在项目中还须要额外引用那些类库。2. 假设当前的项目启用了ARC。而引…

gcc中-pthread和-lpthread的区别

用gcc编译使用了POSIX thread的程序时通常需要加额外的选项&#xff0c;以便使用thread-safe的库及头文件&#xff0c;一些老的书里说直接增加链接选项 -lpthread 就可以了&#xff0c;像这样&#xff1a; Shell代码 gcc -c x.c gcc x.o -ox -lpthread 而gcc手册里则指出应…

Java项目:精品养老院管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述本系统功能包括&#xff1a;通知公告&#xff0c;老人管理&#xff0c;护工管理&#xff0c;问答管理等等功能。 二、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&am…

install python+twisted+mysqldb+django on mac

一. install python 1) check install or not 在mac终端输入命令&#xff1a;which python 即可查看python的路径 2&#xff09;未安装时&#xff0c;手动下载安装包 地址&#xff1a;https://www.python.org/downloads/ 选择下载 Mac OS X 64-bit/32-bit installer 安装 二…

JVM优雅退出

在某个Java应用增加新功能,缩容机器,或者应用以及机器发生异常,通常会停止正在运行的应用,该应用通常正在运行着任务,如果停止应用的操作处理不当的话,很有可能会导致数据丢失,损坏,从而影响业务。所以在停止应用的时候,需要考虑如何安全优雅的退出。维护了所有已经注册的钩子,由于jvm本身没有提供好用的方法去移除已经注册的钩子,可以通过反射的方式调用。对于强制关闭的几种情况,会直接停止JVM进程,JVM不会调用已注册的。对于正常关闭、异常关闭的几种情况,JVM关闭前,都会调用已注册的。

网络名词--“环路”

环路一直是网络工程师以及网络运维人员头疼的事&#xff0c;如何防止环路的产生&#xff0c;如何快速找出环路的原因排除故障&#xff0c;是每一个网络从业人员必备的技能。这就要求我们对环路产生的原因了如指掌&#xff0c;本文主要对交换环路进行分析&#xff0c;从分类、形…

希腊字母表及读音

序号大写小写国际音标中文读音意义1Ααa:lf阿尔法角度;系数2Ββbet贝塔磁通系数;角度;系数3Γγga:m伽马电导系数(小写)4Δδdelt德尔塔变动;密度;屈光度5Εεep`silon伊普西龙对数之基数6Ζζzat截塔系数;方位角;阻抗;相对粘度;原子序数7Ηηeit艾塔磁滞系数;效率(小写)8Θθθit西塔温度;相位角9Ιιaiot约塔

loadrunner——win7+LR11配置

一、 安装vmware虚拟机 下载安装vmware15后&#xff0c;可使用密钥为&#xff1a;CG392-4PX5J-H816Z-HYZNG-PQRG2 二、 安装win7系统 2.1下载win7镜像文件 2.2 vmware中创建win7虚拟机 创建过程省略&#xff0c;一键式创建即可&#xff0c;windows产品可使用密钥如下&#xff1…

C++标准库中sstream和strstream的区别

在C有两种字符串流&#xff0c;一种在sstream中定义&#xff0c; 另一种在strstream中定义。 它们实现的东西基本一样。 strstream里包含 class strstreambuf; class istrstream; class ostrstream; class strstream; 它们是基于C类型字符串char*编写的 sstream中包含 class is…

基于jQuery垂直多级导航菜单代码

基于jQuery垂直多级导航菜单代码是一款黑色风格的jQuery竖直导航菜单特效下载。效果图如下&#xff1a; 在线预览 源码下载 实现的代码。 html代码&#xff1a; <ul class"ce"><li> <a class"xz" href"#">目录A</a>…

Java项目:在线考试系统(java+springBoot+vue+Mysql+maven)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 管理员和教师登陆此账号就进入后台&#xff0c;学生登陆此账号就进入前端做题。 老师发布了考试,学生才可以在主页面看到相应的考试信息。 有考试安排表以后,才能给该次考试添加题目,对应数据表是exammanag…

来玩Play框架05 数据库

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01; 数据库是整个站点的数据储藏室。用户提交的数据可以存储在数据库中&#xff0c;以便未来使用。Play可以通过JDBC和数据库通信。我讲介绍Play和my…

mysql数据库之linux版本

http://repo.mysql.com/yum/mysql-5.6-community/ 安装 安装方式一(在线安装) # 查看和mysql…

LINUX UMASK详解

一 权限掩码umask umask是chmod配套的&#xff0c;总共为4位&#xff08;gid/uid,属主&#xff0c;组权&#xff0c;其它用户的权限&#xff09;,不过通常用到的是后3个&#xff0c;例如你用chmod 755 file&#xff08;此时这文件的权限是属主读(4)写(2)&#xff0b;执行(1),同…

ubuntu14.04安装hadoop2.6.0(伪分布模式)

版本&#xff1a;虚拟机下安装的ubuntu14.04&#xff08;64位&#xff09;,hadoop-2.6.0 下面是hadoop2.6.0的官方英文教程&#xff1a; http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation hadoop下载…

Java项目:生活旅行分享平台(java+Springboot+JPA+Jsp+Html+js+Ajax+maven+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 mysql Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09; 项目技术&#xff1a; Springboot SpringMVC JPA Jsp Htm…

Servlet和SpringMVC补课

1.web.xml加载顺序 http://mianhuaman.iteye.com/blog/1105522 关键点&#xff1a;ServletContext -> context-param -> listener -> filter -> servlet 2.beans xmlns http://www.w3school.com.cn/xml/xml_namespaces.asp 用于避免元素命名冲突。在Spring中应用极…

gdb debug

1. dir 添加源代码查找路径 一般工程的代码会有多路径&#xff0c;gdb会在当前目录下搜索符号对应的代码。利用dir <path> 可以添加代码搜索路径&#xff1b; 例如工程目录&#xff1a; ./ ./dir_1/ ./dir_2/ 可以用如下命令添加代码搜索路径&#xff1a; dir dir…

Java项目:嘟嘟图片展览馆管理系统(java+Springboot+SpringMVC+JPA+Jsp+maven+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 mysql Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09; 项目技术&#xff1a; Springboot SpringMVC JPA Jsp Htm…

javascript编译与运行机理(1)--

随着学习js的深入就越想了解其内部的运行机理&#xff0c;看了很多文章&#xff0c;感觉下面总结的不错。但囿于个人水平&#xff0c;只是达到了理解层面&#xff0c;还不能提出自己的见解&#xff0c;只好把资料罗列出来&#xff0c;留待以后总结&#xff1a; 1、Javascript的…

Citrix Synergy 2014 重要信息快速一览

今天的互联网、社交媒体的确强大&#xff0c;我们可以足不出户了解到9600公里&#xff08;北京到LA的距离&#xff09;之外的美国发生的事情。今天从Brain Madden大神那儿又扒到了一些经过提炼的关于Citrix Synergy 2014&#xff08;Citrix每年一度的大会&#xff09;的会议内容…

stm32 flash和sram

FLASH是用来存储程序的&#xff0c;SRAM是用来存储程序运行中的中间变量转载于:https://www.cnblogs.com/CodeWorkerLiMing/p/10984065.html

常见主机字节序

常见主机字节序1&#xff0e; Little endian&#xff1a;将低序字节存储在起始地址2&#xff0e; Big endian&#xff1a;将高序字节存储在起始地址LE little-endian最符合人的 思维的字节序地址低位存储值的低位地址高位存储值的高位怎么讲是最符合人的思维的字节序&#xff0…

Java项目:仿小米电子产品售卖商城系统(java+SpringBoot+Vue+MySQL+Redis+ElementUI)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 项目描述&#xff1a;这是一个基于SpringBootVue框架开发的仿小米电子产品售卖商城系统。首先&#xff0c;这是一个前后端分离的项目&#xff0c;代码简洁规范&#xff0c;注释说明详细。其次&#xff0c;这…