MybatisPlus的使用(自己用)

  • Post author:
  • Post category:其他


为什么使用MyBatis Plus?

  1. 在Mybatis中我们对单表的增删改查的操作,都是自己再mapper.xml中进行代码的书写,这样一来我们书写的代码比较的麻烦。
  2. 我们目前封装数据库的实体的时候,每一表都需要自己的书写实体类,这样一来,我们书写的代码就比较的麻烦。

解决方法:

使用MyBatisPlus。


MyBatisPlus简介

(简称 MP)

MP是一个

MyBatis

的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

官方愿景:

我们的愿景是成为 MyBatis 最好的搭档,就像

魂斗罗

中的 1P、2P,基友搭配,效率翻倍。

原理图:

第一步:加入Maven的依赖

第二步:

在搭建好的SSM环境中将MyBatis的工厂bean代替MP的工厂bean即可,MP工厂bean名如下图

在此时还可将MyBatis的全局策略一起进行配置

在书写mapper层的接口时,让接口继承BaseMapper<T>,即可实现MyBatisPlus的使用

MP条件构造器Wrapper的使用

通过MP简单的增删改查SQL语句我们可以不用再进行书写但是,但是很多时候SQL语句时非常复杂的,比如or、and、in、<、>以及模糊查询等时该怎么办?

MP提供了功能非常强大的Wrapper条件构造器.条件构造器其实就是一个对象,以方法的形式提供了数据库操作的筛选关键字,我们调用该对象,来拼接我们的筛选条件即可。

实现:

创建QueryWrapper对象,使用该对象中提供的对应的数据库操作的方法,来

完成条件的拼接,QueryWrapper对象最终存储拼接好的Sql片段,将片段

拼接在Sql语句中。

MP的AR模式:

MP的操作模式较于原有Mybatis的数据库操作流程没有任何变化,只是我们在编写代码的时候不用在mapper层声明Sql语句或者XML文件了,提升开发效率。可以直接通过java对象实现对数据库的增删改查操作,用起来美滋滋!!!

具体实现步骤如下:

  • 创建项目完成Spring和MP的集成
  • 创建数据库表对应的实体类,继承Model类
  • 在实体类中覆写pkVal方法.
  • 创建Mapper接口并继承BaseMapper接口
  • 创建Spring对象,让Spring容器完成对Mapper层的实例化扫描
  • 创建实体类对象,直接调用实体类从Model中继承的数据库方法完成数据库操作。

AR模式的优点:

AR模式较于传统的MP模式操作数据库,我们不用再在业务层通过获取Mapper对象然后再将实体类传入给mapper层完成数据库操作,直接使用实体类对象即可完成操作,大大提升开发效率。