一.什么是AbstractWrapper
QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类
用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件
注意: entity 生成的 where 条件与 使用各个 api 生成的 where 条件没有任何关联行为
Wrapper:
Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法
AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
LambdaUpdateWrapper : Lambda 更新封装Wrapper
QueryWrapper : Entity 对象封装操作类,不是用lambda语法
UpdateWrapper : Update 条件封装,用于Entity对象更新操作
此外,明白MyBatis的运用还不够 企业用得更多的是MyBaits-plus,因此又去官方文档查阅了相关的类和方法的用法。
Mybatis-plus 工具类——SimpleQuery 工具类
说明:
对selectList查询后的结果用Stream流进行了一些封装,使其可以返回一些指定结果,简洁了api的调用
需要项目中已注入对应实体的BaseMapper
使用方式见: 测试用例(opens new window)
对于下方参数peeks,其类型为Consumer...,可一直往后叠加操作例如:List<Long> ids = SimpleQuery.list(Wrappers.lambdaQuery(), Entity::getId, System.out::println, user -> userNames.add(user.getName()));
初步熟悉公司业务流程需要:
1、熟悉数据库表结构和项目代码,先自己模仿写一个接口
2、按照接口文档 调整接口
继而往后的深入实习了解到——swagger和MyBatis-plus 需要学习了解。
表结构 就是字段名及其数据类型 和有无数据信息并无关系。