学习材料
2024最新SpringCloud微服务开发与实战,java黑马商城项目微服务实战开发(涵盖MybatisPlus、Docker、MQ、ES、Redis高级等)
学redis讲到微服务就停了,nginx也是。
所以嘛,我终于来到微服务了。
复习MyBatisPlus(企业开发必备技术)
我记得我学过,但是看了教程,发现基本都不知道。(难道是我没学过吗?)
1.如何使用MybatisPlus?
1.2MybatisPlus是如何知道要操作什么表的?要遵守3个约定,或利用注解
1.4常见配置
2.MybatisPlus核心功能
2.1条件构造器
在BaseMapper中,更加复杂的where条件可以用Wrapper(抽象类)构造,对应子类有queryWrapper,UpdateWrapper等。
之后还有LambdaQuery(Update)Wrapper。
2.2自定义SQSL
2.Service接口 (好用),配合静态工具。
接口继承接口,实现类继承实现类
是现在service层面的操作。
再配合lambda!
@GetMapping("/list")
@ApiOperation("根据id集合查询用户")
public List<UserVO> queryUsers(UserQuery query){
// 1.组织条件
String username = query.getName();
Integer status = query.getStatus();
Integer minBalance = query.getMinBalance();
Integer maxBalance = query.getMaxBalance();
// 2.查询用户
List<User> users = userService.lambdaQuery()
.like(username != null, User::getUsername, username)
.eq(status != null, User::getStatus, status)
.ge(minBalance != null, User::getBalance, minBalance)
.le(maxBalance != null, User::getBalance, maxBalance)
.list();
// 3.处理vo
return BeanUtil.copyToList(users, UserVO.class);
}
3.拓展功能
3.1代码生成器(好用)
3.2静态工具
在规避service层面的循环依赖的同时!好用
3.3逻辑删除,通用枚举,JSON处理器。
4.分页功能
需要额外配置拦截器实现,在mp操作之前完成分页代码的修改。