MybatisPlus
MyBatis 最佳搭档,只做增强不做改变,为简化开发、提高效率而生。
官网[https://www.baomidou.com/]
为了简化单表CRUD,MybatisPlus提供了一个基础的BaseMapper接口,其中已经实现了单表的CRUD。
因此我们自定义的Mapper只要实现了这个BaseMapper,就无需自己实现单表CRUD了。
常见注解
MybatisPlus如何知道我们要查询的是哪张表?表中有哪些字段呢?
MybatisPlus就是根据PO实体的信息来推断出表的信息,从而生成SQL的。默认情况下:
- MybatisPlus会把PO实体的类名驼峰转下划线作为表名
- MybatisPlus会把PO实体的所有变量名驼峰转下划线作为表的字段名,并根据变量类型推断字段类型
- MybatisPlus会把名为id的字段作为主键
但很多情况下,默认的实现与实际场景不符,因此MybatisPlus提供了一些注解便于我们声明表信息。
- **@**TableName
- @TableId
- @TableField
核心功能

- QueryWrapper
- UpdateWrapper
LambdaQueryWrapper
无论是QueryWrapper还是UpdateWrapper在构造条件的时候都需要写死字段名称,会出现字符串魔法值。这在编程规范中显然是不推荐的。 那怎么样才能不写字段名,又能知道字段名呢?
其中一种办法是基于变量的gettter方法结合反射技术。因此我们只要将条件对应的字段的getter方法传递给MybatisPlus,它就能计算出对应的变量名了。而传递方法可以使用JDK8中的方法引用和Lambda表达式。
Service接口
MybatisPlus不仅提供了BaseMapper,还提供了通用的Service接口及默认实现,封装了一些常用的service模板方法。
save:新增remove:删除update:更新get:查询单个结果list:查询集合结果count:计数page:分页查询
结果
list:查询集合结果count:计数page:分页查询

2314

被折叠的 条评论
为什么被折叠?



