ssm助学贷款系统源码和论文

news2025/1/11 20:01:07

ssm助学贷款系统源码和论文050

 开发工具:idea 
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

摘  要

现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本助学贷款管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此助学贷款管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发.助学贷款管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。

关键词:助学贷款管理系统;SSM框架;Mysql;自动化

研究背景

当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,不接受信息改革带来的信息技术的企业随时面临被淘汰,被取代的风险。所以当今,各个行业领域,不管是传统的教育行业,餐饮行业,还是旅游行业,医疗行业等领域都将使用新的信息技术进行信息革命,改变传统的纸质化,需要人手工处理工作事务的办公环境。软件信息技术能够覆盖社会各行业领域是时代的发展要求,各种数据以及文件真正实现电子化是信息社会发展的不可逆转的必然趋势。本助学贷款管理系统也是紧跟科学技术的发展,运用当今一流的软件技术实现软件系统的开发,让物流管理信息完全通过管理系统实现科学化,规范化,程序化管理。从而帮助信息管理者节省事务处理的时间,降低数据处理的错误率,对于基础数据的管理水平可以起到促进作用,也从一定程度上对随意的业务管理工作进行了避免,同时,助学贷款管理系统的数据库里面存储的各种动态信息,也为上层管理人员作出重大决策提供了大量的事实依据。总之,助学贷款管理系统是一款可以真正提升管理者的办公效率的软件系统。

package com.controller;

import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;

import com.annotation.IgnoreAuth;
import com.entity.XuexiaoEntity;
import com.service.TokenService;
import org.apache.commons.lang3.StringUtils;
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.XuexiaoEntity;

import com.service.XuexiaoService;
import com.utils.PageUtils;
import com.utils.R;

/**
 * 
 * 后端接口
 * @author
 * @email
 * @date 2021-02-26
*/
@RestController
@Controller
@RequestMapping("/xuexiao")
public class XuexiaoController {
    private static final Logger logger = LoggerFactory.getLogger(XuexiaoController.class);

    @Autowired
    private XuexiaoService xuexiaoService;

    @Autowired
    private TokenService tokenService;

    /**
     * 登录
     */
    @IgnoreAuth
    @PostMapping(value = "/login")
    public R login(String username, String password, String role, HttpServletRequest request) {
        XuexiaoEntity user = xuexiaoService.selectOne(new EntityWrapper<XuexiaoEntity>().eq("account", username));
        if(user != null){
            if(!user.getRole().equals(role)){
                return R.error("权限不正常");
            }
            if(user==null || !user.getPassword().equals(password)) {
                return R.error("账号或密码不正确");
            }
            String token = tokenService.generateToken(user.getId(),user.getName(), "users", user.getRole());
            return R.ok().put("token", token);
        }else{
            return R.error("账号或密码或权限不对");
        }

    }

    /**
     * 注册
     */
    @IgnoreAuth
    @PostMapping(value = "/register")
    public R register(@RequestBody XuexiaoEntity user){
        if(xuexiaoService.selectOne(new EntityWrapper<XuexiaoEntity>().eq("account", user.getAccount())) !=null) {
            return R.error("学校负责人已存在");
        }
        user.setRole("学校负责人");
        xuexiaoService.insert(user);
        return R.ok();
    }

    /**
     * 退出
     */
    @GetMapping(value = "logout")
    public R logout(HttpServletRequest request) {
        request.getSession().invalidate();
        return R.ok("退出成功");
    }

    /**
     * 密码重置
     */
    @IgnoreAuth
    @RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
        XuexiaoEntity user = xuexiaoService.selectOne(new EntityWrapper<XuexiaoEntity>().eq("username", username));
        if(user==null) {
            return R.error("账号不存在");
        }
        user.setPassword("123456");
        xuexiaoService.update(user,null);
        return R.ok("密码已重置为:123456");
    }

    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
        Integer id = (Integer)request.getSession().getAttribute("userId");
        XuexiaoEntity user = xuexiaoService.selectById(id);
        return R.ok().put("data", user);
    }
    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",page方法");
        Object role = request.getSession().getAttribute("role");
        PageUtils page = null;
        if(role.equals("学校负责人")){
            params.put("yh",request.getSession().getAttribute("userId"));
            page = xuexiaoService.queryPage(params);
        }else{
            page = xuexiaoService.queryPage(params);
        }
        return R.ok().put("data", page);
    }

    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        logger.debug("Controller:"+this.getClass().getName()+",info方法");
        XuexiaoEntity xuexiao = xuexiaoService.selectById(id);
        if(xuexiao!=null){
            return R.ok().put("data", xuexiao);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody XuexiaoEntity xuexiao, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",save");
        Wrapper<XuexiaoEntity> queryWrapper = new EntityWrapper<XuexiaoEntity>()
            .eq("name", xuexiao.getName())
            .eq("account", xuexiao.getAccount())
            .eq("password", xuexiao.getPassword())
            .eq("sex_types", xuexiao.getSexTypes())
            .eq("role", xuexiao.getRole())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        XuexiaoEntity xuexiaoEntity = xuexiaoService.selectOne(queryWrapper);
        if("".equals(xuexiao.getImgPhoto()) || "null".equals(xuexiao.getImgPhoto())){
            xuexiao.setImgPhoto(null);
        }
        if(xuexiaoEntity==null){
            xuexiao.setRole("学校负责人");
            xuexiaoService.insert(xuexiao);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody XuexiaoEntity xuexiao, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",update");
        //根据字段查询是否有相同数据
        Wrapper<XuexiaoEntity> queryWrapper = new EntityWrapper<XuexiaoEntity>()
            .notIn("id",xuexiao.getId())
            .eq("name", xuexiao.getName())
            .eq("account", xuexiao.getAccount())
            .eq("password", xuexiao.getPassword())
            .eq("sex_types", xuexiao.getSexTypes())
            .eq("role", xuexiao.getRole())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        XuexiaoEntity xuexiaoEntity = xuexiaoService.selectOne(queryWrapper);
        if("".equals(xuexiao.getImgPhoto()) || "null".equals(xuexiao.getImgPhoto())){
                xuexiao.setImgPhoto(null);
        }
        if(xuexiaoEntity==null){
            xuexiaoService.updateById(xuexiao);//根据id更新
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }


    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        logger.debug("Controller:"+this.getClass().getName()+",delete");
        xuexiaoService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/915789.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java注解语法

Java注解语法 1. 前置基础 ​ 学习java反射语法 JAVA通过反射使用公共构造方法和私有构造方法来创建对象 2. Java注解是什么&#xff1f; ​ Java注解是代码中的特殊标记&#xff0c;比如Override、Test等&#xff0c;作用是&#xff1a;让其他程序根据注解 信息决定怎么执…

【ECCV2022】Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation

Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation 论文&#xff1a;https://arxiv.org/abs/2105.05537 代码&#xff1a;https://github.com/HuCaoFighting/Swin-Unet 解读&#xff1a;Swin-UNet&#xff1a;基于纯 Transformer 结构的语义分割网络 -…

【FAQ】视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、…

SpringMVC 写个 HelloWorld

文章目录 一、SpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点 二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式&#xff1a;warc>引入依赖 3、配置web.xmla>默认配置方式b>扩展配置方式 4、创建请求控制器5、创建springMVC…

Linux下彻底卸载jenkins

文章目录 1、停服务进程2、查找安装目录3、删掉相关目录4、确认已完全删除 1、停服务进程 查看jenkins服务是否在运行&#xff0c;如果在运行&#xff0c;停掉 ps -ef|grep jenkins kill -9 XXX2、查找安装目录 find / -name "jenkins*"3、删掉相关目录 # 删掉相…

继承(C++)

继承 一、初识继承概念“登场”语法格式 继承方式九种继承方式组合小结&#xff08;对九种组合解释&#xff09; 二、继承的特性赋值转换 一一 切片 / 切割作用域 一一 隐藏 / 重定义 三、派生类的默认成员函数派生类的默认成员函数1. 构造函数2. 拷贝构造3. 赋值运算符重载4. …

部署FTP服务(二)

目录 2.访问FTP服务 1.使用ftp命令行工具 2.使用浏览器 3.使用FileZilla Client 3.Serv-U 1.定义新域 2.创建用户 4. windowsserver搭建ftp服务器 一、FTP工具 二、Windows资源管理器 三、IE浏览器访问 2.访问FTP服务 下面在一台装有Windows10操作系统的计算机中&#…

vue 简单实验 v-on html事件绑定

1.代码 <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"event-handling"><p>{{ message }}</p><button v-on:click"reverseMessage">反转 Message</but…

医药市场调研--原始价值数据库分享<医药行业必读>

医药市场调研公司是专门从事医药行业市场调研的企业。它们的主要职责是收集、分析和解读与医药行业相关的市场数据和信息&#xff0c;为企业提供决策支持和战略指导。这些公司通过各种调研方法和工具&#xff0c;如市场调查、数据分析、定性研究等&#xff0c;帮助企业了解市场…

TCP的三次握手 四次挥手以及TCP的11种状态

三次握手流程&#xff1a; 客户端给服务端发送数据时&#xff0c;数据包中带有一个头&#xff0c;这个头就是前几十个字节&#xff0c;就是下面这张图。从源端口号&#xff0c;目的端口号&#xff0c;一直到序列号&#xff0c;直到Options。第一个包会将这前十几个字节中的SYN置…

【从零学习python 】72. 深入理解Socket通信及创建套接字的方法

文章目录 1. 不同电脑上的进程之间如何通信2. 什么是socket3. 创建socket进阶案例 1. 不同电脑上的进程之间如何通信 首要解决的问题是如何唯一标识一个进程&#xff0c;否则通信无从谈起&#xff01; 在1台电脑上可以通过进程号&#xff08;PID&#xff09;来唯一标识一个进程…

取模运算符在数组下标的应用

什么是取模运算符%&#xff1f; 定义&#xff1a; a mod b&#xff0c;设a、b属于正整数且b>0&#xff0c;如果q、r属于正整数满足aq*br&#xff0c;且0≤r<b&#xff0c;则定义&#xff1a; a mod b r 注意&#xff1a;取模运算符两侧的除数和被除数都是整数&#xff…

中秋节思维导图怎么绘制?教你使用这种绘制方法

中秋节思维导图怎么绘制&#xff1f;中秋节是中国传统的一个重要节日&#xff0c;许多人会在这一天与家人、朋友聚在一起庆祝&#xff0c;品尝月饼、猜灯谜、赏月等。中秋节作为一个具有浓厚文化底蕴的节日&#xff0c;其历史文化知识十分丰富&#xff0c;而通过绘制思维导图&a…

Three.js 实现模型材质局部辉光(发光,光晕)效果和解决辉光影响场景背景图显示的问题

1.Three.js 实现模型材质局部辉光&#xff08;发光&#xff0c;光晕&#xff09;效果 2.解决辉光效果影响场景背景图显示的问题 相关API的使用&#xff1a; 1. EffectComposer&#xff08;渲染后处理的通用框架&#xff0c;用于将多个渲染通道&#xff08;pass&#xff09;组…

iPhone 14 Pro 动态岛的功能和使用方法详解

当iPhone 14 Pro机型发布时,苹果公司将软件功能与屏幕顶部的药丸状切口创新集成,称之为“灵动岛”,这让许多人感到惊讶。这篇文章解释了它的功能、工作原理,以及你如何与它互动以执行动作。 一、什么是灵动岛?它是如何工作的 在谣言周期的早期‌iPhone 14 Pro‌ 在宣布时…

只考一门数据结构,计算机学硕复录比1:1的山东双非学校考情分析

青岛理工大学 考研难度&#xff08;☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分析&#xff09;、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文1420字&#xff0c;预计阅读&#xff1a;3分钟 2023考情概况 青岛理工…

Linux下的系统编程——基础操作(一)

前言&#xff1a; linux系统编程是基于Linux系统进行程序开发的一个过程&#xff0c;主要涉及到的是linux系统中的函数使用如下图所示&#xff1a; 最外层的是咱们的应用程序&#xff0c;这部分程序大多调用的是咱们标准库&#xff0c;或者说是C库&#xff0c;这部分库函数能…

PDF中的表格怎么转换为Excel?这两个工具一定得收藏!

PDF是一种常见的文件格式&#xff0c;它可以保持文件的原始样式和内容&#xff0c;但是也有一些缺点&#xff0c;比如不易编辑和处理数据。如果你想要将PDF中的表格或数据导出到Excel中&#xff0c;以便进行分析、计算或制作图表&#xff0c;那么你可能需要一个专业的PDF转Exce…

Window异常提示:“为了对电脑进行保护,已经阻止此应用”

目录 1.Window异常提示图片&#xff1a; 2.家庭版额外需要执行的解决方式&#xff1a; 3.本地组策略编辑器(后续家庭版和专业版一致) 4.禁用后重新启动电脑就可以正常运行程序了 1.Window异常提示图片&#xff1a; 2.家庭版额外需要执行的解决方式&#xff1a; 代码&#xff…

超纯水中硼离子去除,特种除硼树脂CH-99

超纯水是指水中杂质含量极低的一种水质&#xff0c;其中矢量硼是一种常见的杂质。矢量硼的存在会影响超纯水的质量&#xff0c;因此需要采取一定的方法去除。 常用的去除矢量硼的方法有离子交换法、反渗透法和电化学法等。 电化学法&#xff1a; 是一种利用电化学反应对水中…