目录
一、Mybatis-Plus简介
1.1、介绍
1.2、特性
1.3、架构
1.4、Mybatis-Plus与Mybatis的区别
二、快速入门
2.1、首先创建数据库mybatis-plus
2.2、创建user表
2.3、插入数据
2.4、创建Spring-Boot项目
2.5、添加依赖
2.6、连接数据库
一、Mybatis-Plus简介
1.1、介绍
MyBatis-PlusMyBatis-Plus 官方文档https://baomidou.com/
MyBatis-Plus(简称 MP)是⼀个 MyBatis 的增强⼯具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
1.2、特性
简化CRUD操作:MyBatis-Plus提供了通用的Mapper接口和通用的Service接口,简化了常见的CURD操作。无需编写XML文件和手动编写SQL语句,只需继承通用Mapper接口或Service接口,即可使用常见的CRUD方法。
自动生成代码:MyBatis-Plus可以根据数据库表自动生成实体类、Mapper接口和XML文件,大大减少了手动编写代码的工作量。
支持分页查询:MyBatis-Plus提供了分页插件,可以在查询数据时直接指定分页参数,方便进行分页查询。
条件构造器:MyBatis-Plus提供了条件构造器,可以通过链式调用的方式生成查询条件,使得查询条件更加清晰易读。
代码生成器:MyBatis-Plus内置了一个代码生成器,可以根据数据库表自动生成实体类、Mapper接口和XML文件,大大提高了开发效率。
乐观锁支持:MyBatis-Plus提供了乐观锁的支持,可以在更新数据时进行版本校验,避免数据冲突问题。
SQL注入器:MyBatis-Plus提供了一个强大的SQL注入器,支持自定义的全局SQL方法,可以实现一些复杂的SQL查询需求。
自动填充:MyBatis-Plus提供了自动填充功能,可以在插入或更新数据时自动填充某些字段,如创建时间和更新时间等。
多租户支持:MyBatis-Plus提供了多租户的支持,可以在查询数据时自动根据租户ID添加过滤条件,实现多租户数据隔离。
1.3、架构
1.4、Mybatis-Plus与Mybatis的区别
语法简化:Mybatis-Plus通过使用注解和API简化了Mybatis的配置和操作,减少了开发者的编码量。
自动代码生成:Mybatis-Plus提供了代码生成器,可以根据数据库表生成对应的实体类、mapper接口和mapper XML文件,减少了手动编写的工作量。
分页插件:Mybatis-Plus内置了分页插件,可以方便地进行分页查询。
条件查询:Mybatis-Plus提供了强大的条件查询功能,可以通过链式调用的方式进行复杂的查询操作。
通用CRUD操作:Mybatis-Plus提供了通用的CRUD操作方法,可以简化对数据库的增删改查操作。
逻辑删除:Mybatis-Plus支持逻辑删除,可以通过在表中添加一个标记字段来实现逻辑删除功能。
自动填充:Mybatis-Plus提供了自动填充功能,可以在插入或更新操作时自动填充某些字段的值,如创建时间、更新时间等。
二、快速入门
2.1、首先创建数据库mybatis-plus
2.2、创建user表
2.3、插入数据
2.4、创建Spring-Boot项目
2.5、添加依赖
<!--MySQL驱动-->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><!-- 可通过version设置版本号 -->
</dependency><!-- lombok -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency><!-- mybatisplus -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.0.5</version>
</dependency>
2.6、连接数据库
# 数据库8.版本需要加上cj
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root