基于ssm少儿编程管理系统源码和论文

idea 数据库mysql5.7+ 数据库链接工具:navcat,小海豚等

环境: jdk8 tomcat8.5

开发技术 ssm

基于ssm少儿编程管理系统源码和论文744

摘要

网络的广泛应用给生活带来了十分的便利。所以把少儿编程管理系统与现在网络相结合,利用java技术建设少儿编程管理系统,实现少儿编程的信息化。则对于进一步提高少儿编程管理发展,丰富少儿编程管理经验能起到不少的促进作用。

少儿编程管理系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知少儿编程的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群众了解自己。对于少儿编程而言,若拥有自己的系统,通过系统得到更好的管理,同时提升了形象。

本系统设计的现状和趋势,从需求、结构、数据库等方面的设计到系统的实现,分别为管理员和家长的实现。论文的内容从系统的设计、描述、实现、分析、测试方面来表明开发的过程。本系统根据现实情况来选择一种可行的开发方案,借助java编程语言和MySQL数据库等实现系统的全部功能,接下来对系统进行测试,测试系统是否有漏洞和测试用户权限来完善系统,最终系统完成达到相关标准。

关键字: 少儿编程管理系统java MySQL数据库

演示视频:

基于ssm少儿编程管理系统源码和论文

Abstract

The wide application of network has brought great convenience to life. So the children's programming management system and the network is now combined, using Java technology to build children's programming management system, to achieve the information of children's programming. For further improve the development of children's programming management, rich children's programming management experience can play a lot of promoting role.

Children's programming management system can be widely and comprehensively publicized through the Internet, so that as many users as possible understand and know the convenience and efficiency of children's programming, not only to provide services for the masses, but also to promote themselves, so that more people understand themselves. For children's programming, if you have your own system, through the system to get better management, while improving the image.

The present situation and trend of the system design, from the requirements, structure, database and other aspects of the design to the realization of the system, respectively for the realization of administrators and parents. The content of the paper shows the development process from the aspects of system design, description, implementation, analysis and testing. The system according to the reality to choose a feasible development plan, with the help of Java programming language and MySQL database to achieve all the functions of the system, then the system is tested, test whether the system has vulnerabilities and test user permissions to improve the system, the final system to achieve relevant standards.

复制代码
package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.JiazhangEntity;
import com.entity.view.JiazhangView;

import com.service.JiazhangService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;

/**
 * 家长
 * 后端接口
 * @author 
 * @email 
 * @date 2022-04-10 10:44:48
 */
@RestController
@RequestMapping("/jiazhang")
public class JiazhangController {
    @Autowired
    private JiazhangService jiazhangService;


    
	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		JiazhangEntity user = jiazhangService.selectOne(new EntityWrapper<JiazhangEntity>().eq("zhanghao", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		
		String token = tokenService.generateToken(user.getId(), username,"jiazhang",  "家长" );
		return R.ok().put("token", token);
	}
	
	/**
     * 注册
     */
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody JiazhangEntity jiazhang){
    	//ValidatorUtils.validateEntity(jiazhang);
    	JiazhangEntity user = jiazhangService.selectOne(new EntityWrapper<JiazhangEntity>().eq("zhanghao", jiazhang.getZhanghao()));
		if(user!=null) {
			return R.error("注册用户已存在");
		}
		Long uId = new Date().getTime();
		jiazhang.setId(uId);
        jiazhangService.insert(jiazhang);
        return R.ok();
    }

	
	/**
	 * 退出
	 */
	@RequestMapping("/logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        JiazhangEntity user = jiazhangService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	JiazhangEntity user = jiazhangService.selectOne(new EntityWrapper<JiazhangEntity>().eq("zhanghao", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
        user.setMima("123456");
        jiazhangService.updateById(user);
        return R.ok("密码已重置为:123456");
    }


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,JiazhangEntity jiazhang,
		HttpServletRequest request){
        EntityWrapper<JiazhangEntity> ew = new EntityWrapper<JiazhangEntity>();
		PageUtils page = jiazhangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiazhang), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,JiazhangEntity jiazhang, 
		HttpServletRequest request){
        EntityWrapper<JiazhangEntity> ew = new EntityWrapper<JiazhangEntity>();
		PageUtils page = jiazhangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiazhang), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( JiazhangEntity jiazhang){
       	EntityWrapper<JiazhangEntity> ew = new EntityWrapper<JiazhangEntity>();
      	ew.allEq(MPUtil.allEQMapPre( jiazhang, "jiazhang")); 
        return R.ok().put("data", jiazhangService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(JiazhangEntity jiazhang){
        EntityWrapper< JiazhangEntity> ew = new EntityWrapper< JiazhangEntity>();
 		ew.allEq(MPUtil.allEQMapPre( jiazhang, "jiazhang")); 
		JiazhangView jiazhangView =  jiazhangService.selectView(ew);
		return R.ok("查询家长成功").put("data", jiazhangView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        JiazhangEntity jiazhang = jiazhangService.selectById(id);
        return R.ok().put("data", jiazhang);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        JiazhangEntity jiazhang = jiazhangService.selectById(id);
        return R.ok().put("data", jiazhang);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody JiazhangEntity jiazhang, HttpServletRequest request){
    	jiazhang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jiazhang);
    	JiazhangEntity user = jiazhangService.selectOne(new EntityWrapper<JiazhangEntity>().eq("zhanghao", jiazhang.getZhanghao()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		jiazhang.setId(new Date().getTime());
        jiazhangService.insert(jiazhang);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody JiazhangEntity jiazhang, HttpServletRequest request){
    	jiazhang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jiazhang);
    	JiazhangEntity user = jiazhangService.selectOne(new EntityWrapper<JiazhangEntity>().eq("zhanghao", jiazhang.getZhanghao()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		jiazhang.setId(new Date().getTime());
        jiazhangService.insert(jiazhang);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody JiazhangEntity jiazhang, HttpServletRequest request){
        //ValidatorUtils.validateEntity(jiazhang);
        jiazhangService.updateById(jiazhang);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        jiazhangService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<JiazhangEntity> wrapper = new EntityWrapper<JiazhangEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = jiazhangService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.WanzhengkechengEntity;
import com.entity.view.WanzhengkechengView;

import com.service.WanzhengkechengService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;

/**
 * 完整课程
 * 后端接口
 * @author 
 * @email 
 * @date 2022-04-10 10:44:48
 */
@RestController
@RequestMapping("/wanzhengkecheng")
public class WanzhengkechengController {
    @Autowired
    private WanzhengkechengService wanzhengkechengService;


    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,WanzhengkechengEntity wanzhengkecheng,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiazhang")) {
			wanzhengkecheng.setZhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<WanzhengkechengEntity> ew = new EntityWrapper<WanzhengkechengEntity>();
		PageUtils page = wanzhengkechengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, wanzhengkecheng), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,WanzhengkechengEntity wanzhengkecheng, 
		HttpServletRequest request){
        EntityWrapper<WanzhengkechengEntity> ew = new EntityWrapper<WanzhengkechengEntity>();
		PageUtils page = wanzhengkechengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, wanzhengkecheng), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( WanzhengkechengEntity wanzhengkecheng){
       	EntityWrapper<WanzhengkechengEntity> ew = new EntityWrapper<WanzhengkechengEntity>();
      	ew.allEq(MPUtil.allEQMapPre( wanzhengkecheng, "wanzhengkecheng")); 
        return R.ok().put("data", wanzhengkechengService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(WanzhengkechengEntity wanzhengkecheng){
        EntityWrapper< WanzhengkechengEntity> ew = new EntityWrapper< WanzhengkechengEntity>();
 		ew.allEq(MPUtil.allEQMapPre( wanzhengkecheng, "wanzhengkecheng")); 
		WanzhengkechengView wanzhengkechengView =  wanzhengkechengService.selectView(ew);
		return R.ok("查询完整课程成功").put("data", wanzhengkechengView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        WanzhengkechengEntity wanzhengkecheng = wanzhengkechengService.selectById(id);
        return R.ok().put("data", wanzhengkecheng);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        WanzhengkechengEntity wanzhengkecheng = wanzhengkechengService.selectById(id);
        return R.ok().put("data", wanzhengkecheng);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody WanzhengkechengEntity wanzhengkecheng, HttpServletRequest request){
    	wanzhengkecheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(wanzhengkecheng);
        wanzhengkechengService.insert(wanzhengkecheng);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
	@IgnoreAuth
    @RequestMapping("/add")
    public R add(@RequestBody WanzhengkechengEntity wanzhengkecheng, HttpServletRequest request){
    	wanzhengkecheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(wanzhengkecheng);
        wanzhengkechengService.insert(wanzhengkecheng);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody WanzhengkechengEntity wanzhengkecheng, HttpServletRequest request){
        //ValidatorUtils.validateEntity(wanzhengkecheng);
        wanzhengkechengService.updateById(wanzhengkecheng);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        wanzhengkechengService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<WanzhengkechengEntity> wrapper = new EntityWrapper<WanzhengkechengEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiazhang")) {
			wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = wanzhengkechengService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}
相关推荐
星恒随风14 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
金銀銅鐵14 小时前
带您看懂字节码指令(二):空循环里有什么
java·后端·ai编程
吴名氏.16 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
爱码少年16 小时前
Springboot下如何将CSV文件数据导入H2、Mysql数据库表
数据库·mysql·csv
.痞老板.16 小时前
java ee--多线程(进阶)
java·java-ee
可乐ea17 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
深入云栈18 小时前
Netty 4.2.x 源码深度解析 (二十三):ByteBuf 核心设计 —— 索引、类型与零拷贝
java·后端·架构
阿义有问题18 小时前
MySQL 迁移达梦全流程实战:DTS 七步图解 + 对象名全大写适配(附踩坑清单)
数据库
wang_shu_mo_ran19 小时前
MyBatis 从入门到进阶(一)
java·spring·mybatis
量化分析码农20 小时前
股票历史数据的复权参数对照:多级别返回的字段与数值差异
java·javascript·后端