MyBatis-Plus开启AR功能

开启AR功能领域模型

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方法

QueryWrapper 被称为条件构造器

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

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

MP和AR的关系:

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

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

 

UserService继承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层

总结:

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

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

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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值