Mybatis-plus:简介与创建整合项目和使用

简介
Mybatis-plus(下称MP)可以理解为是mybatis的一个强化工具,在mybatis的基础上做出了增强,同时可以与mybatis共存,我们主要使用的是其内部集成的sql语句,不需要再一个sql对应一个mybatis标签条目,通过调用其提供的方法就可以实现crud操作,达到简化开发的目的。
那么如何创建一个SpringBoot整合Mybatis-plus的项目呢?
创建
1.pom文件中用mybatis-plus的引用覆盖掉spring-mybatis引用
在这里插入图片描述
注意:这里虽说是覆盖掉了,但仍然可以使用mybatis原先的方法来执行crud,因为他们之间的关系只是mybatis-plus为mybatis的强化版。
2.修改原先boot项目中的配置文件
原先我们的.yml文件中的mybatis注解是这样的↓在这里插入图片描述
修改为:
在这里插入图片描述
在原先的基础上添加了类和包的引用。

3.在项目中开启AR功能(ActiceRecord 领域模型)
1).实体类开启AR(同时开启Dao层)
首先继承MP的特殊类Model
Model是个啥:mybatis-plus中引用来的特殊的类(com.baomidou.mybatisplus.extension.activerecord.Model)
泛型:当前逻辑中所使用的的实体类。
具体应用效果如下
在这里插入图片描述
↑实际上就是该实体类继承了Model类
model存在时就可以MP封装了基于当前表(泛型)的基础方法,它默认的会寻找数据源中和实体类名相同的表,实体类名和表名不相同时需要在实体类上添加一个注释
注解及使用如下↓
@TableName(“表名”)在这里插入图片描述
继承了Model类的时候还需要实现其主键序列方法
在这里插入图片描述
接着指定我们标识了的实体类中的主键
在这里插入图片描述
来个测试,创建一个刚才我们已经添加开启了AR功能的对象在这里插入图片描述
可以看到已经被MP提供了封装的方法(Model修饰)
调用这些被修饰的方法时就不需要再去mapper文件下写sql语句了,直接调用使用就可以实现crud功能。
MP和AR之间是一个包含的关系:MP是整个完整的框架,而AR只是MP其中的一个功能,是指一个模型类对应一个关系型数据库中的一张表

2).在Dao层开启AR功能
让mapper接口继承特殊类BaseMapper
BaseMapper隶属于:com.baomidou.mybatisplus.core.mapper.BaseMapper
T泛型:当前的实体类
具体如下在这里插入图片描述
测试Dao层方法:
在这里插入图片描述
BaseMapper修饰的方法就是其内置方法,使用时调用即可,不需要再写具体的sql语句,同实体类开启AR功能。
3).Service层开启AR
让ClientService继承特殊类IService
IService隶属于:com.baomidou.mybatisplus.extension.service.IService
泛型同上,对应当前所使用的实体类在这里插入图片描述
4).Impl开启AR
service实现层继承ServiceImpl<T1,T2>类,正常实现Service接口即可
T1: 继承了MP组件的Dao层
T2:实体类,同上
因为T1是继承MP组件的Dao层,因此无需再自动装载dao层,也可以说是Impl层的AR功能依赖Dao层来实现
测试Impl层AR功能:
在这里插入图片描述
注意:整个过程中的方法命名建议保留关键字,例如insert、update、delete、select等字段,通过上面的测试不难发现MP内置的方法都使用了这些字段,难免出现重名。
具体重名时不会出现重名冲突,而是以mybatis为优先级调用。
另外,由于mybatis-plus调用方法的局限性,其难以满足复杂的sql需求,仍然需要mybatis来完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值