今日核心要点
彻底改造controller的login方法,实现动态账号密码登录,解决如果账号或密码错误等问题,返回对应JSON数据,而不是500请求报错,使用工具Result类,了解数据库,有更好的逻辑分析。
前言
模拟真实开发,设计修改数据库规范,提前做好准备工作!
一、Result是什么?
最主要的功能就是为了向前端发送数据的时候能够更高效快捷
文章链接:http://t.csdn.cn/dxTf5
二、如何改造
1.效果图
2.改造UserServiceImpl
代码如下:
@Autowired
private UserMapper userMapper;
@Override
public User login(String username, String password) {
//登录测试
//1.创建Wrapper对象
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 2: 构造查询条件
queryWrapper
.eq("account", username)
.eq("password", password);
return userMapper.selectOne(queryWrapper);
}
三、apifox测试
失败则是
总结
昨天写的selectByMap可以考虑后续使用,登录推荐使用selectOne,mybatis-plus学习的还是太浅,需要多用,然后进行更改。今天的任务是,熟悉真实开发效果,了解后端主要的作用。
数据库设计规范:
部分字段需要更改,检查字段设计是否合理。
使用 IN 或 NOT IN 子句时,特别是当子句中有多个值且表数据较多时,速度会明显下降。可以采用连接查询或外连接查询来提高性能。
后续
登录效果完成,准备注册功能实现,写功能之前,先打开数据库,再次检查命名规范,字段设计是否合理,以及页面效果实现是否缺少字段,或者提前把可能出现的bug提前预防。
例如:user表中删除用户是否从数据库真实删除数据,还是加一个deleted只是更改状态为删除,数据依旧存在。