学习材料
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操作之前完成分页代码的修改。



















