【无标题】学生管理系统:遇到的问题总结

1.创建一个maven项目,配置pom文件,

2.新建application.yml文件,配置端口号,数据源,mabatis映射(开启驼峰映射),开启debug日志级别,设置密码加密盐值,

 3.新建一个流程,查询指定id,测试是否可以连接数据库,

UserController :

完成的业务:  1.登录,预留位置,将登录的信息存放到redis,修改

                        2.注册,将信息存放到mysql

                        3.修改用户信息 用户昵称,用户性别,用户邮箱,用户电话,用户身份(学生,

教师),

                        4.注销用户--将给用户状态信息改为下线

                        5.上传用户头像,先单独拆开,再合并到修改信息--上传图像

                        6.完成前端输入数据的校验(后端校验)

                        7.密码的加密

                        8.统一异常处理机制

项目遇到的问题1: 无法加载自定义的配置信息,

解决方案:1直接设置为固定值,2,在Service层使用value注解调用工具类的方法,获取值

问题2:无法使用@Validated注解

问题原因:新版本需要添加依赖,来开启注解配置器

解决方案:在pom文件中添加依赖

<!--开启数据校验-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

问题3:数据校验,有多个数据校验异常,而且抛出异常,不通过统一异常处理机制,msg消息过长,无用信息过多

解决方案:1.简易化处理,直接返回数据校验异常,2.精细化处理,正在查询资料

问题4:分页查询用户列表时,将用户密码等不能返回的信息返回了

解决方案:百度查询条件构造器的使用,mybatis-plus默认查询所有实体类字段

1.返回指定字段,使用select来指定返回字段

    @Test
    public void selectByWrapper10() {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("name", "age").like("name", "雨");
        List<User> users = userMapper.selectList(queryWrapper);
        users.forEach(System.out::println);
    }

  2.指定那些不返回,默认为全部返回

    @Test
    public void selectByWrapper11() {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.select(User.class, info -> !info.getColumn().equals("manager_id")
                && !info.getColumn().equals("create_time"));
        List<User> users = userMapper.selectList(queryWrapper);
        users.forEach(System.out::println);
    }

  解决方案:修改条件筛选器,将用户密码,用户修改时间设置为不返回   --

处理结果:只返回了用户id和用户名,其他的全部返回为空,仔细检查后发现,数据库全是null值,手动添加后,能成功达到预期目标

LogController : 业务目标:

        1.使用aop方式实现redis缓存数据,将日志存储到redis,

        2.实现登录模块的redis连接,登录后返回一个token信息,并将token信息存储到redis,再存储到mysql,登录时先查本地缓存,没有的话访问redis,redis也没有就查询

预期使用:redisTemplate docker

业务流程:1。配置pom文件

                        

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
    <version>2.5.4</version>
</dependency>

由于使用日志系统,在启动类上,添加开启异步注解@EnableAsync

 

           

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值