MyBatis-Plus

文章介绍了MyBatis-Plus作为MyBatis的增强工具,提供内置的SQL方法,减少SQL编写工作。它支持ActiveRecord模式,允许在实体类和Dao层启用AR,简化开发。同时提到,虽然MP提供了便利,但面对复杂的SQL需求,仍需使用原生SQL。文章还提到了MP与Hibernate的关系,以及如何在Service层启用AR。
摘要由CSDN通过智能技术生成

Hibernate

另一个数据持久成框架,幻想使用类,对象,方法来替代SQL标签,不用再书写SQL语句。底层依然是封装了JDBC

MyBatis-Plus

MyBatis-Plus(简称MP)是一个 MyBatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

MP会内置集成部分SQL方法,可以直接使用,而不用一个SQL需求对应一个Mapper下的一个SQL条目。

1. pom.xml 引入Mybatis-Plus的jar坐标,覆盖Spring-MyBatis

2. 修改application.yml配置文件

开启AR功能(ActiveRecord)领域模型

1. 实体类开启AR (同时开启Dao层AR)

继承MP特殊类Model<T>

Model隶属于:com.baomidou.mybatisplus.extension.activerecord.Model

T泛型:当前的实体类

同时实现主键序列方法

MP的大部分方法都是依赖主键来生成SQL的,所以需要指定标识实体类中的主键

2. Dao层开启AR

继承特殊类BaseMapper<T>

BaseMapper隶属于:com.baomidou.mybatisplus.core.mapper.BaseMapper

T泛型:当前的实体类

由于Model类的存在,那么就可以获得MP封装了基于当前表(泛型)的基础方法

测试实体类的内置AR方法

例子:根据ID查询

例子:插入当前对象

测试Dao接口层的内置AR方法

例子:根据ID更新

例子:查询昵称为“用户”的所有条目

QueryWrapper 被称为条件构造器

如果MyBatis和MyBatis-plus方法重复,MyBatis方法优先

MyBatis避开MP的关键方法select, insert,update,delete等

MP和AR的关系:

MP是Mybatis-Plus的简称,是一个完整框架体系;AR是指一个模型类对应一个关系型数据库中的一张表;AR只是MP的一个功能而已。

3. Service层开启AR(同时开启ServiceImpl的AR)

ClientService继承IService类

IService隶属于:com.baomidou.mybatisplus.extension.service.IService

泛型Product,对应一个表

4. ServiceImpl开启AR

ClientServiceImpl正常实现ClientService接口

继承特殊类ServiceImpl<T1,T2>

ServiceImpl隶属于com.baomidou.mybatisplus.extension.service.impl.ServiceImpl

T1: 继承了MP组件的Dao层

T2:实体类,也是为了引向到一个表

由于T1的存在,因此无需再自动装载dao层

ServiceImpl修改

ServiceImpl的AR功能,是依赖Dao的AR功能来实现

默认会寻找当前数据源下,和实体类名相同的表

实体类名和表名不相同,在实体类上添加一个注释

条件构造器为null,全查效果

例子 批量插入:

设置主键自增

saveBatch

saveOrUpdateBatch 根据主键,批量插入或更改

总结:

1. 实体类和Dao层,Service和ServiceImpl层 开启AR后,可以使用MP的内置方法,减少了SQL代码的重复书写。

2. 底层实现是Hibernate框架结构。用类和方法来实现SQL功能,由于类和方法的局限性,复杂SQL需求,还是需求原始的SQL来完成

3. MyBatis-Plus不是为了取代MyBatis,是在其基础上做的功能升级,但无法替代,他们双生的魂斗罗。

完整MyBatis-Plus官网:

https://baomidou.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值