注:以下图片都来自于黑马程序员的视频,感谢黑马程序员带我在后端的路上越走越远
下面都是mybatisPlus的功能,真的顶!
一、常用注解:
@TableName:用来指定表名
@TableId:用来指定表中的主键字段信息
@TableFieId:用来指定表中的普通字段
二、BaseMapper
(就是咱们的mapper表,将来继承这个就能使用里面的API了),里面的wrapper下面有详解,也就是条件构造器
三、条件构造器
这三个都是条件构造器
区别:QueryWrapper用作查询,UpdateWrapper用作特殊情况需要set的情况,而LamdaWrapper与上述功能类似,唯一不同的是LamdaWrapper可以不使用硬编码的方式来构造条件,推按使用LamdaWrapper
wrapper常用方法:
下面就是实战样例:
QueryWrapper:
updateWrapper:
四、自定义sql:
上面都是涉及到简单的查询和更新,如果是复杂的可以使用自定义sql,这样的做法也可以让sql语句的编写在mapper层而不是在service层
使用mybatisPlus的Wrapper来构建复杂的where条件,然后自己定义SQL语句中剩下的部分。
自定义实战样例:
五、IService层
哈哈,大家是不是很意外,mybatisplus不仅能够帮助简写mapper层,甚至连Service层都不放过,支持国产,下面是常用的接口
这是IService的结构:
所以将来service接口需要继承IService,实现类需要继承ServiceImpl就行了,接下来进入实战了
简单的sevice层直接调用上面的方法就行了。
复杂的service层可以把上面的方法当作一部分,
实战样例;
即然SQL有lambad用法,那么service层当然也有了
Lambda用法:
LambdaQuery:
解决了复杂的查询语句
问题:要查询一个查询对象里面的所有条件,实现为空这个条件就无效,如果为空,就查询这个条件
解决:
LambdaUpdate():
实战样例:
接下来进入我们的重磅好戏:代码生成器:mybatisplus,可以自动生成sevice和mapper层初始化,是根据连接的数据库表生成的,也就是数据库有多少表,mapper和sevice层就有多少个。
六、代码生成器
下载:在idea的插件里面搜索mybatisplus,下载
具体操作流程:
配置数据库
配置要生成的东西:
七、DB静态工具
这个DB静态工具其实就是静态的Iservice层,但Isevice层是bean管理的,而DB不受bean管理。
应用场景:假如业务需要,一个userSevice层依赖注入了paySevice层和payService层又依赖注入了userSevice层,这样就导致了循环依赖。
大家想想,去掉又实现不了业务,自己添加mapper层的逻辑太麻烦了,这时候DB静态工具就起作用了,因为它没有被Bean管理哦,还可以正常使用功能
八、逻辑删除
相信大家之前听过逻辑删除,它的定义:
大家想想,如果要实现这样的功能,那么mybaisplus的语句就不能用了,查询和删除全需要变,基于次,mybatisPlus就提供了逻辑删除的功能,
在上面只要配置了deleted字段,就可以实现这个功能,真的太方便了
九、分页插件
应用步骤:
实战样例:
还有两个功能枚举处理器和JSON处理器,由于目前没有用到,就没有写,以后用到了会更新的哈!