返回顶部
首页 > 资讯 > 后端开发 > Python >Mybatis-Plus接口BaseMapper与Services使用详解
  • 935
分享到

Mybatis-Plus接口BaseMapper与Services使用详解

2024-04-02 19:04:59 935人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

最近在工作开发中遇到一个批量新增修改的处理,我使用的是 mybatis-plus,但是在用的 BaseMapper 接口里是没有这个方法的,后来发现 Service 接口里有这个方法

最近在工作开发中遇到一个批量新增修改的处理,我使用的是 mybatis-plus,但是在用的 BaseMapper 接口里是没有这个方法的,后来发现 Service 接口里有这个方法,今天整理一下这2种用法。

一、使用 BaseMapper 接口

MyBatis Plus 提供了通用的 Mapper 接口(即 BaseMapper 接口),该接口对应我们的 DAO 层。在该接口中,定义了我们常见的方法签名,这样就可以方便我们对表进行操作。例如:查询(select)、插入(insert)、更新(update)和删除(delete)操作。

以为项目中的代码为例,我有一个实体类User,需要对其进行CRUD,那么我直接在 DAO 层去继承 BaseMapper 接口即可。

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

这样我就可以直接使用里面的各种api了,非常的方便。另外,我发现了一个mybatis-plus的简洁教程,可以很方便的查询一些知识点,文末自取。

但是后来在开发过程中,发现BaseMapper接口中的insert()不能满足我的需求了,而在Service接口中,发现有个saveOrUpdateBatch()可以使用,果断拥抱之。

二、使用 Service 接口

除了 BaseMapper 接口,MyBatis Plus 还提供了 IService 接口,该接口对应 Service 层。MyBatis Plus 的通用 Service CRUD 实现了 IService 接口,进一步封装 CRUD。为了避免与 BaseMapper 中定义的方法混淆,该接口使用 get(查询单行)、remove(删除)、list(查询集合)和 page(分页)前缀命名的方式进行区别。

这个既然是对应 Service 接口,那么也就要用在 service 层。

还是要处理刚才的User类,DAO 层仍然是需要的:

@Mapper
public interface AddressListMapper extends BaseMapper<User>{

}

然后在 service 层的接口继承IService,泛型是User实体类:

public interface AddressListService extends IService<User> {
    
    void saveUsers();
}

最后在 service 的实现层中,继承ServiceImpl,泛型中传入mapper和实体类:

@Service
public class AddressListServiceImpl extends ServiceImpl<AddressListMapper, User> implements AddressListService {

}

现在就可以使用 mybaits-plus service接口中提供的api了。

我使用的是saveOrUpdateBatch,这个要注意下,是通过自定义的唯一索引进行批量保存更新的,所以我要去实体类User中使用@TableId标记出唯一索性。

    
    @TableId
    private String email;

最后,放上教程链接:https://www.jb51.net/article/222180.htm

以上就是Mybatis-Plus接口BaseMapper与Services使用详解的详细内容,更多关于Mybatis Plus接口的资料请关注编程网其它相关文章!

--结束END--

本文标题: Mybatis-Plus接口BaseMapper与Services使用详解

本文链接: https://lsjlt.com/news/149794.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Mybatis-Plus接口BaseMapper与Services使用详解
    最近在工作开发中遇到一个批量新增修改的处理,我使用的是 mybatis-plus,但是在用的 BaseMapper 接口里是没有这个方法的,后来发现 Service 接口里有这个方法...
    99+
    2024-04-02
  • Mybatis-Plus接口BaseMapper与Services如何使用
    这篇文章主要介绍“Mybatis-Plus接口BaseMapper与Services如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Mybatis-Plus接口BaseMapper与Servi...
    99+
    2023-06-30
  • mybatis-plus中BaseMapper入门使用
    目录入门使用BaseMapper完成增删改查BaseMapper各方法详解InsertDeleteUpdateSelect具体教程参考官网文档: baomidou.com/ 入门使...
    99+
    2024-04-02
  • BaseMapper接口的使用
    Java知识点总结:想看的可以从这里进入 目录 3、相关方法3.1、BaseMapper接口3.1.1、新增3.1.2、删除3.1.3、修改3.1.4、查询 3、相关方法 3.1、BaseMapper接...
    99+
    2023-08-17
    mybatis java spring
  • 一文详解Mybatis-plus的介绍与使用
    目录Mybatis-Plus简介Mybatis-Plus特性Mybatis-Plus实操数据库相关配置小项目运行配置添加数据删除数据修改数据查询数据小结Mybatis-Plus简介 ...
    99+
    2024-04-02
  • mybatis plus in方法使用详解
    如果是List类型的String,例如:List<String>这种类型的,就直接放值就可以了,本文讲的是当你查询到的是一个list集合如何遍历取值,否则要写sql和接口...
    99+
    2024-04-02
  • MyBatis-plus使用时与MyBatis冲突?
    引入的mybatis-plus-boot-starter已经集成了MyBatis包下 一、如果单独升级所用的mybatis包 需要首先将其集成的mybatisb包依赖排除:exclude,然后引入单独的较高版本的MyBatis包依赖 二、...
    99+
    2023-09-23
    mybatis java mysql
  • Mybatis-Plus中and()和or()的使用与原理详解
    目录一. 简单无优先级连接(即无括号的sql语句)1. 与连接 and()2. 或连接 or()二. 复杂有优先级的的连接补充:MybatisPlus中and和or的组合使用总结一....
    99+
    2024-04-02
  • Mybatis各种查询接口使用详解
    目录一、查询一个实体类对象二、查询一个list集合三、查询单个数据四、查询一个数据为map集合五、查询多条数据为map集合一、查询一个实体类对象 ①创建SelectMapp...
    99+
    2022-11-13
    Mybatis查询接口 Mybatis查询功能 Mybatis查询
  • mybatis-plus的添加与修改详解
    目录mybatis-plus添加与修改插入操作更新操作自动填充这里我们直接用代码级别mybatis-plus批量添加批量插入记住Java是可以接口多继承的mybatis-plus添加...
    99+
    2024-04-02
  • Mybatis-Plus如何使用分页实例详解
    目录1.写个Mybatis-plus配置类:2.写接口测试3.注意4.如果你还有查询条件1.Lambda表达式2.普通查询总结 Mybatis-Plus(简称MP)是一个&...
    99+
    2024-04-02
  • 解决mybatis-plus自动配置的mapper.xml与java接口映射问题
    目录mybatis-plus自动配置mapper.xml与java接口映射其中核心功能就是下面这个方法mybatis-plus3 配置mapper和xml映射关系原因就是mapper...
    99+
    2024-04-02
  • Mybatis Plus QueryWrapper复合用法详解
    目录QueryWrapper复合用法使用QueryWrapper小结mybatisplus自定义分页查询其中ew.customSqlSegmentQueryWrapper 设置参数几...
    99+
    2024-04-02
  • MyBatis-Plus实现分页的方法使用详解
    目录简介建库建表依赖配置代码EntityMapperServiceController测试简介 本文介绍MyBatis-Plus的分页的方法。 包括: 不传参数时的默认结果查询不存在...
    99+
    2024-04-02
  • 使用IDEA配置Mybatis-Plus框架图文详解
    目录一、什么是Mybatis-Plus框架?二、Mybatis有些什么特性?三、IDEA创建SpringBoot项目 1、创建Spring Initializr模块2、测试...
    99+
    2024-04-02
  • mybatis-plus雪花算法生成Id使用详解
    目录前言一、mybatis-plus官网二、雪花算法实战三、实现分析四、为什么默认就是雪花算法五、主动设置Id生成策略总结前言 在实际开发过程中,数据库自增主键生成Id能满足大部分的...
    99+
    2024-04-02
  • Mybatis-Plus批量插入用法详解
    目录1. 准备测试环境2. saveBatch2.1 分析3. insert循环插入4. 自定义sql插入5. insertBatchSomeColumnmybatis-plus的I...
    99+
    2023-02-15
    Mybatis-Plus批量插入 Mybatis-Plus批量插入用法
  • Mybatis-plus使用注解 @TableField(exist = false)
    当表中午字段,但是实体类中需要这个成员变量时怎么办,可以使用mybatis-plus中@TableField(exist=false) 如下: import com.baomid...
    99+
    2024-04-02
  • mybatis-plus中wrapper的用法实例详解
    目录一、条件构造器关系介绍条件构造器关系介绍 :wapper介绍 :二、项目实例1、根据主键或者简单的查询条件进行查询2、MyBatis-Plus还提供了Wrapper条件构造器,具...
    99+
    2024-04-02
  • MyBatis-Plus工具使用之EntityWrapper解析
    目录EntityWrapper使用解析EntityWrapper源码解读EntityWrapper使用解析 1、项目中引入jar包,我这里使用Maven构建 <dependen...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作