一.MybatisPlus的简介(以下简称MP)
1.MP的一些基本特性
无侵入:只做增强不做改变,引入它不会对现有工程产生影响
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作
2.MP与mybatis的对比:
我们都知道,mybatis是需要自己写sql语句的,假如你熟悉sql的话,使用mybatis是一个很不错的选择,但是每个数据库一些SQL是不通用得,所以假如更换数据库的话,就需要重新设计mapper,并且我们对数据库进行基本的增删改查都需要自己编写sql,这真是太难受了,所以MP给我们提供了强大的通用mapper,而且MP支持多种数据库,完美的解决了数据库移植的问题,并且我们对于一些多表查询和复杂查询,也可以像原来使用mybatis一样自定义sql来完成我们的需求。
二.MP整合Sprinboot
1.导入依赖
//Springboot整合MP的starter
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
//<!-- mysql的驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.27</version>
</dependency>
//主要用于在实体类中生成getter&setter方法
<dependency>
<groupId>org.projectlombok</groupId>