Java开发入门到实战--Java项目实战之学生成绩管理(java+SpringBoot+maven+mysql)
小职 2021-12-31 来源 : 阅读 704 评论 0

摘要:本篇主要介绍了Java开发入门到实战--Java项目实战之学生成绩管理(java+SpringBoot+maven+mysql),通过具体的内容展现,希望对Java开发的学习有一定的帮助。

本篇主要介绍了Java开发入门到实战--Java项目实战之学生成绩管理(java+SpringBoot+maven+mysql),通过具体的内容展现,希望对Java开发的学习有一定的帮助。

Java开发入门到实战--Java项目实战之学生成绩管理(java+SpringBoot+maven+mysql)

使用框架SpringBoot+Mybatis 发布每日会员绩效管理系统

项目功能有:教师端:学生管理、成绩管理、学生总成绩查询

学生端:学生信息管理、成绩查询、总成绩查询

运行环境:windows/Linux内核、jdk1.8、mysql5.7、idea/eclipsejava。


Java开发入门到实战--Java项目实战之学生成绩管理(java+SpringBoot+maven+mysql)

 

Java开发入门到实战--Java项目实战之学生成绩管理(java+SpringBoot+maven+mysql)

 Java开发入门到实战--Java项目实战之学生成绩管理(java+SpringBoot+maven+mysql)

Java开发入门到实战--Java项目实战之学生成绩管理(java+SpringBoot+maven+mysql)

 

Java开发入门到实战--Java项目实战之学生成绩管理(java+SpringBoot+maven+mysql)

 


系统用户控制层:

/**

 * 系统用户

 *

 */

@RestController

@RequestMapping("/sys/user")

public class SysUserController extends AbstractController {

@Autowired

private SysUserService sysUserService;

@Autowired

private SysUserRoleService sysUserRoleService;

/**

* 所有用户列表

*/

@RequestMapping("/list")

@RequiresPermissions("sys:user:list")

public R list(@RequestParam Map<String, Object> params){

PageUtils page = sysUserService.queryPage(params);

 

return R.ok().put("page", page);

}

/**

* 获取登录的用户信息

*/

@RequestMapping("/info")

public R info(){

return R.ok().put("user", getUser());

}

/**

* 修改登录用户密码

*/

@SysLog("修改密码")

@RequestMapping("/password")

public R password(String password, String newPassword){

Assert.isBlank(newPassword, "新密码不为能空");

 

//原密码

password = ShiroUtils.sha256(password, getUser().getSalt());

//新密码

newPassword = ShiroUtils.sha256(newPassword, getUser().getSalt());

//更新密码

boolean flag = sysUserService.updatePassword(getUserId(), password, newPassword);

if(!flag){

return R.error("原密码不正确");

}

return R.ok();

}

/**

* 用户信息

*/

@RequestMapping("/info/{userId}")

@RequiresPermissions("sys:user:info")

public R info(@PathVariable("userId") Long userId){

SysUserEntity user = sysUserService.getById(userId);

//获取用户所属的角色列表

List<Long> roleIdList = sysUserRoleService.queryRoleIdList(userId);

user.setRoleIdList(roleIdList);

return R.ok().put("user", user);

}

/**

* 保存用户

*/

@SysLog("保存用户")

@RequestMapping("/save")

@RequiresPermissions("sys:user:save")

public R save(@RequestBody SysUserEntity user){

ValidatorUtils.validateEntity(user, AddGroup.class);

sysUserService.saveUser(user);

return R.ok();

}

/**

* 修改用户

*/

@SysLog("修改用户")

@RequestMapping("/update")

@RequiresPermissions("sys:user:update")

public R update(@RequestBody SysUserEntity user){

ValidatorUtils.validateEntity(user, UpdateGroup.class);

 

sysUserService.update(user);

return R.ok();

}

/**

* 删除用户

*/

@SysLog("删除用户")

@RequestMapping("/delete")

@RequiresPermissions("sys:user:delete")

public R delete(@RequestBody Long[] userIds){

if(ArrayUtils.contains(userIds, 1L)){

return R.error("系统管理员不能删除");

}

if(ArrayUtils.contains(userIds, getUserId())){

return R.error("当前用户不能删除");

}

 

sysUserService.removeByIds(Arrays.asList(userIds));

return R.ok();

}

}

角色管理控制层:

/**

 * 角色管理

 *

 */

@RestController

@RequestMapping("/sys/role")

public class SysRoleController extends AbstractController {

@Autowired

private SysRoleService sysRoleService;

@Autowired

private SysRoleMenuService sysRoleMenuService;

@Autowired

private SysRoleDeptService sysRoleDeptService;

/**

* 角色列表

*/

@RequestMapping("/list")

@RequiresPermissions("sys:role:list")

public R list(@RequestParam Map<String, Object> params){

PageUtils page = sysRoleService.queryPage(params);

 

return R.ok().put("page", page);

}

/**

* 角色列表

*/

@RequestMapping("/select")

@RequiresPermissions("sys:role:select")

public R select(){

List<SysRoleEntity> list = sysRoleService.list();

return R.ok().put("list", list);

}

/**

* 角色信息

*/

@RequestMapping("/info/{roleId}")

@RequiresPermissions("sys:role:info")

public R info(@PathVariable("roleId") Long roleId){

SysRoleEntity role = sysRoleService.getById(roleId);

//查询角色对应的菜单

List<Long> menuIdList = sysRoleMenuService.queryMenuIdList(roleId);

role.setMenuIdList(menuIdList);

 

//查询角色对应的部门

List<Long> deptIdList = sysRoleDeptService.queryDeptIdList(new Long[]{roleId});

role.setDeptIdList(deptIdList);

return R.ok().put("role", role);

}

/**

* 保存角色

*/

@SysLog("保存角色")

@RequestMapping("/save")

@RequiresPermissions("sys:role:save")

public R save(@RequestBody SysRoleEntity role){

ValidatorUtils.validateEntity(role);

sysRoleService.saveRole(role);

return R.ok();

}

/**

* 修改角色

*/

@SysLog("修改角色")

@RequestMapping("/update")

@RequiresPermissions("sys:role:update")

public R update(@RequestBody SysRoleEntity role){

ValidatorUtils.validateEntity(role);

sysRoleService.update(role);

return R.ok();

}

/**

* 删除角色

*/

@SysLog("删除角色")

@RequestMapping("/delete")

@RequiresPermissions("sys:role:delete")

public R delete(@RequestBody Long[] roleIds){

sysRoleService.deleteBatch(roleIds);

return R.ok();

}

}

登录相关控制层:

/**

 * 登录相关

 *

 */

@Controller

public class SysLoginController {

@Autowired

private Producer producer;

@RequestMapping("captcha.jpg")

public void captcha(HttpServletResponse response)throws IOException {

        response.setHeader("Cache-Control", "no-store, no-cache");

        response.setContentType("image/jpeg");

 

        //生成文字验证码

        String text = producer.createText();

        //生成图片验证码

        BufferedImage image = producer.createImage(text);

        //保存到shiro session

        ShiroUtils.setSessionAttribute(Constants.KAPTCHA_SESSION_KEY, text);

        

        ServletOutputStream out = response.getOutputStream();

        ImageIO.write(image, "jpg", out);

}

/**

* 登录

*/

@ResponseBody

@RequestMapping(value = "/sys/login", method = RequestMethod.POST)

public R login(String username, String password, String captcha) {

String kaptcha = ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY);

if(!captcha.equalsIgnoreCase(kaptcha)){

return R.error("验证码不正确");

}

try{

Subject subject = ShiroUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken(username, password);//md5+Jiayan

subject.login(token);

}catch (UnknownAccountException e) {

return R.error(e.getMessage());

}catch (IncorrectCredentialsException e) {

return R.error("账号或密码不正确");

}catch (LockedAccountException e) {

return R.error("账号已被锁定,请联系管理员");

}catch (AuthenticationException e) {

return R.error("账户验证失败");

}

    

return R.ok();

}

/**

* 退出

*/

@RequestMapping(value = "logout", method = RequestMethod.GET)

public String logout() {

ShiroUtils.logout();

return "redirect:login.html";

}

}

208小时视频教程,995份干货资料,领取资料+高薪就业咨询V:z_zhizuobiao

Java开发入门到实战--Java项目实战之学生成绩管理(java+SpringBoot+maven+mysql)

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程