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

项目笔记1:通用 Service的常见方法

通用 Service 通常封装了常见的业务逻辑操作,以提高代码的复用性和可维护性。不同的框架和业务场景下,通用 Service 的方法会有所差异,但一般都会包含一些基本的增删改查(CRUD)操作,以下为你详细介绍:

基本的 CRUD 方法

  • 创建(Create)
    • save(T entity):用于保存单个实体对象到数据库中。例如在一个用户管理系统里,使用此方法保存新注册的用户信息。
    • saveBatch(Collection<T> entityList):批量保存实体对象集合,能提高数据插入效率,像一次性导入多个用户信息到系统时就会用到。
  • 读取(Read)
    • getById(ID id):依据主键 ID 从数据库中获取单个实体对象。例如根据用户 ID 获取特定用户的详细信息。
    • list():查询数据库中该实体的所有记录,返回一个实体列表,常用于展示所有用户列表的场景。
    • list(Wrapper<T> queryWrapper):根据自定义的查询条件(如年龄大于 18 岁、姓名包含特定字符等)查询符合条件的实体列表。
    • page(Page<T> page, Wrapper<T> queryWrapper):实现分页查询,可指定每页显示的记录数和当前页码,还能结合查询条件进行筛选,常用于展示大量数据时的分页显示。
  • 更新(Update)
    • updateById(T entity):根据实体对象的主键 ID 更新数据库中的记录,例如修改用户的联系方式。
    • update(T entity, Wrapper<T> updateWrapper):按照自定义的更新条件更新数据库记录,比如将所有年龄大于 60 岁的用户状态标记为 “老年用户”。
  • 删除(Delete)
    • removeById(ID id):根据主键 ID 从数据库中删除单个实体记录,如删除某个不再使用的用户账号。
    • remove(Wrapper<T> queryWrapper):根据自定义的删除条件删除符合条件的数据库记录,例如删除所有状态为 “已停用” 的用户记录。

其他常用方法

  • 统计类
    • count():统计数据库中该实体的记录总数,可用于显示用户总数等信息。
    • count(Wrapper<T> queryWrapper):统计符合特定查询条件的记录数量,如统计年龄在 20 - 30 岁之间的用户数量。
  • 条件查询辅助类
    • getOne(Wrapper<T> queryWrapper):根据查询条件查询单条记录,若符合条件的记录有多条,会抛出异常,适用于确保查询结果唯一的场景。
http://www.xdnf.cn/news/138637.html

相关文章:

  • 前端基础之《Vue(12)—插件封装》
  • Instagram广告账号被封禁停用该怎么办?
  • python——面向对象编程
  • HTMLCSS模板实现水滴动画效果
  • 通讯的基础概念:涵盖串行通信、并行通信、TCP、UDP、Socket 等关键概念和技术
  • VRRP与防火墙双机热备实验
  • HW蓝队开源网络流量分析工具 -- TrafficEye
  • 计组1.3——计算机的性能指标
  • Axure疑难杂症:详解设置选中与选中效果(玩转选中)
  • Codeforces Round 1020 (Div. 3)(题解ABCDEF)
  • deep鼠标跟随插件
  • 北斗导航 | 北斗卫星导航单点定位与深度学习结合提升精度
  • 软考【网络工程师】2023年11月上午题答案解析
  • 数据库MySQL学习——day4(更多查询操作与更新数据)
  • 如何设置极狐GitLab 议题截止日?
  • 开源项目实战学习之YOLO11:ultralytics-cfg-datasets-Objects365、open-images-v7.yaml文件(六)
  • ADW600模块:40%体积缩减+多回路智能计量,工业节能的“隐形管家”
  • Docker安装(Ubuntu22版)
  • 【计算机视觉】CV实践- 基于PaddleSeg的遥感建筑变化检测全解析:从U-Net 3+原理到工程实践
  • 什么是 MCP?与 AI Agent 的关系是什么?
  • 14.ArkUI Radio的介绍和使用
  • 实验4:列表与字典应用
  • 机器视觉的胶带模切应用
  • 含锡废水处理的经济效益
  • 【Test】单例模式❗
  • 支持Function Call的本地ollama模型对比评测-》开发代理agent
  • python21-循环小作业
  • 命名空间(C++)
  • 在Dify中创建自定义Drools工具
  • 泽众TestOne精准测试:助力软件开发质量新升级