Mybatis-plus简介
什么是Mybatis-Plus
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
为什么要学习Mybatis-Plus
我们已经学习过Mybatis这个框架,我们只需要在dao层定义抽象接口,基于Mybatis零实现的特性,就可以实现对数据库的crud操作。在业务类型比较多的时候,我们需要重复的定义一堆功能类似的接口方法。
使用Mybatis-plus工具,我们只需要将我们定义的抽象接口,继承一个公用的 BaseMapper<T>
接口,就可以获得一组通用的crud方法,来操作数据库。使用Mybatis-plus时,甚至都不需要任何的xml映射文件或者接口方法注解,真正的dao层零实现。
源码分析
基于映射的原理MyBatis-plus
必然要解决两个问题
1、Mapper
中的方法与 SQL
语句的对应转化
2、Mapper
如何 操作数据库
可以从以下两个类的源码来分析Mybatis-plus执行流程
- 自动配置类 :
MybatisPlusAutoConfiguration
@EnableConfigurationProperties({
MybatisPlusProperties.class})
public class MybatisPlusAutoConfiguration implements InitializingBean {
...
}
- 配置项绑定==》 mybatis-plus: xxx 就是对mybatis-plus的配置
@ConfigurationProperties(
prefix = "mybatis-plus"
)
public class MybatisPlusProperties {
...
}
整合查询Demo
准备工作
- idea推荐安装
MybatisX
插件,这样可以方便mapper文件和接口的跳转
第一步:导入Mybatis plus依赖
Mybatis-Plus并没有提供单独的jar包,而是通过Maven(或者gradle)来管理jar依赖。
Mybatis-Plus是基于Spring框架实现的,因此使用Mybatis-Plus,必须导入Spring相关依赖。
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
第二步:配置application.yaml
文件
#关闭模板引擎缓存
spring:
thymeleaf:
cache: false
#国际化配置
messages:
basename: i18n.login
#数据库配置
datasource:
#使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
username: root
password: root
url: jdbc:mysql://localhost:3306/blogverson1?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
#配置端口号
server:
port: 8080
#整合mybatis plus
mybatis-plus:
type-aliases-package: com.loki.pojo
mapper-locations: classpath:mapper/*.xml
#关闭属性名大写自动转换