1.介绍
官方是这样定义的:Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
2.为什么要用MyBatis-Plus?
优点:
效率提高了,因为基本的CRUD写好了
支持Lambda形式调用,不用担心字段写错而引起的异常
支持主键自动生成
内置分页插件
基于mybatis做增强而已
SQL语句自由控制,较为灵活
提供动态SQL语句,可以根据需求灵活控制SQL与业务代码分离,易于阅读
提供功能丰富的条件构造器快速进行无sql开发
内置代码生成器,分页插件, 性能分析插件等
3 .常用方法
Mapper继承了BaseMapper类然后由BaseMapper类提供了一系列CRUD方法
常用函数
如果BaseMapper不能满足实际业务需求的时候也可以直接创建方法创建对应的Mapper.xml文件自己写sql语句来实现
在对应的Mapper.xml文件中写sql语句首先用到的就是联表查询了。那么我就介绍一下内连接,左连接,右连接作用及区别。
例如表1
表2
内连接INNER JOIN表1 有4条结果,但是与表2有关联的结果只用3条,那么内连接就会将两个表中有关联的数据都显示出来
左连接LEFT JOIN 就会将左边表的全部内容展示出来,右边表中只将与左表有关联的数据展示
右连接REGHT JOIN 与左连接LEFT JOIN相反
表中数据显示Null的话如果返回给客户会不太好看
例 成绩表
成绩表有缺考的应该显示0分的,但是显示的Null分不符合要求,这时候可以这样判断一下。
但是思考一下如何把每位同学成绩最高科目展示出来
4.使用mybatis-plus
创建模型类pojo
写个测试类试一下
常用注解及方法
实体类中创建时间以及修改时间可以加入
@TableField(fill = FieldFill.INSERT_UPDATE)
@TableField(fill = FieldFill.INSERT)
编写处理器来处理这个注释就会在写操作时候自动生成当前时间
自定义sql
可以在Mapper文件中使用@Select注解
5.配置日志
这样就可以在日志中看到我们执行的sql了