当前位置: 首页 > news >正文

Mybatis-Plus的主要API

一、实体类操作相关API      

BaseMapper<T>接口

  • 功能:这是 MyBatis - Plus 为每个实体类对应的 Mapper 接口提供的基础接口。它提供了一系列基本的 CRUD(增删改查)操作方法。例如insert(T entity)方法用于插入一条记录,deleteById(Serializable id)方法用于根据主键删除一条记录,selectById(Serializable id)用于根据主键查询一条记录,updateById(T entity)用于根据主键更新一条记录。
  • 示例:假设我们有一个User实体类,对应的UserMapper接口继承了BaseMapper<User>

我们可以在业务代码中这样使用:

Service层相关接口和实现类

  • IService<T>接口和ServiceImpl<M extends BaseMapper<T>, T>IService接口定义了一系列常用的业务逻辑方法,如批量插入、批量删除、根据条件查询等。ServiceImplIService接口的默认实现类,它需要传入对应的BaseMapper和实体类类型。

二、条件构造器相关 API(QueryWrapperUpdateWrapper

QueryWrapper<T>

  • 功能:用于构建查询条件。它提供了丰富的方法来构建 SQL 的WHERE子句。例如eq方法用于等于条件(如queryWrapper.eq("name", "张三")表示查询名字等于张三的记录),like方法用于模糊查询(如queryWrapper.like("name", "张")表示查询名字中包含 “张” 字的记录),gt(大于)、lt(小于)等方法用于比较大小,in方法用于IN操作等。  
  • 示例

UpdateWrapper<T>

这会将名字为 “张三” 的用户年龄更新为 20 岁。

  • 功能:主要用于构建更新操作的条件。和QueryWrapper类似,它也有各种条件构建方法,用于指定更新哪些记录。例如set方法用于设置要更新的字段和值,eq等条件方法用于指定更新的条件。
  • 示例

三、分页相关API

  • IPage<T>接口和Page<T>

    上述代码查询第一页,每页 10 条用户记录,然后输出总记录数、总页数和当前页的用户数据。

    • 功能IPage定义了分页相关的属性和方法,如总记录数、总页数、当前页码、每页记录数等。PageIPage的实现类,用于创建分页对象。在进行分页查询时,通过传入Page对象和查询条件,可以获取分页后的结果集和分页信息。
    • 示例:

四、其他实用API

运行上述代码后,会根据数据库中的表结构自动生成相应的代码。

  • 代码生成器(AutoGenerator

    • 示例
    • 功能:用于自动生成 MyBatis - Plus 的代码,包括实体类、Mapper 接口、Mapper.xml 文件、Service 接口和实现类等。它可以根据数据库表结构自动生成基本的代码框架,大大提高开发效率。

http://www.lryc.cn/news/499083.html

相关文章:

  • 2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别
  • 【SpringMVC】参数传递 重定向与转发 REST风格
  • 性能测试需求分析(超详细总结)
  • 显卡(Graphics Processing Unit,GPU)架构详细解读
  • 【大语言模型】ACL2024论文-24 图像化歧义:Winograd Schema 挑战的视觉转变
  • AcWing 2868. 子串分值
  • 如何进行 JavaScript 性能优化?
  • 使用TCP编程实现简单登录功能
  • 卷积神经网络(CNN)的层次结构
  • 操作系统文件管理相关习题2
  • react 通过ref调用子组件的方法
  • 【计算机网络】 —— 数据链路层(壹)
  • AcWing 93. 递归实现组合型枚举
  • vscode 折叠范围快捷键
  • RabbitMQ 实现分组消费满足服务器集群部署
  • Chromium网络调试篇-Fiddler 5.21.0 使用指南:捕获浏览器HTTP(S)流量(二)
  • 个人IP建设:简易指南
  • 智能指针【C++11】
  • 【Linux 篇】Docker 启动和停止的精准掌舵:操控指南
  • Cursor vs VSCode:主要区别与优势分析
  • 从单体到微服务:如何借助 Spring Cloud 实现架构转型
  • RocketMq基础学习+SpringBoot集成
  • 分布式cap
  • mybatis-xml映射文件及mybatis动态sql
  • 计算机网络复习——概念强化作业
  • 用友BIP与旺店通数据集成方案解析
  • string类函数的手动实现
  • Oceanbase离线集群部署
  • transformers生成式对话机器人
  • WPF中的VisualState(视觉状态)