前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JPA基础增删改查方法命名规则

JPA基础增删改查方法命名规则

作者头像
关忆北.
发布2023-10-11 09:37:48
3760
发布2023-10-11 09:37:48
举报
文章被收录于专栏:关忆北.关忆北.

JPA 持久化 方法命名语法规则

JPA 提供了一种基于方法命名的查询语法,可以根据方法的命名来自动生成查询。这种命名规则被称为 JPA 方法命名语法规则。以下是 JPA 方法命名语法规则的常见规范:

查询方法:
  • 通过方法名生成简单查询:
    • findBy/getBy/queryBy/readBy 后面跟要查询的字段名,用于精确匹配。
    • find/get/query/read 后面跟要查询的字段名,使用条件表达式进行模糊匹配。
    • findAll/getAll 后面不跟字段名,表示查询所有记录。
  • 支持的关键字:
    • And:连接多个查询条件,相当于 SQL 中的 AND
    • Or:连接多个查询条件,相当于 SQL 中的 OR
    • Between:用于查询字段在某个范围内的记录。
    • LessThan/LessThanEqual:用于查询字段小于某个值的记录。
    • GreaterThan/GreaterThanEqual:用于查询字段大于某个值的记录。
    • IsNull/IsNotNull:用于查询字段为空或不为空的记录。
    • Like/NotLike:用于模糊查询字段值。
    • OrderBy:用于指定查询结果的排序方式。
删除方法:
  • 通过方法名生成删除查询:
    • deleteBy/removeBy 后面跟要查询的字段名,用于精确匹配。
    • delete/remove 后面跟要查询的字段名,使用条件表达式进行模糊匹配。
统计方法:
  • 通过方法名生成统计查询:
    • countBy 后面跟要查询的字段名,用于精确匹配。
    • count 后面不跟字段名,表示统计所有记录数。
更新方法:
  • 通过方法名生成更新查询:
  1. 更新方法:
  • 通过方法名生成更新查询:
    • updateBy 后面跟要查询的字段名,用于精确匹配。
    • update 后面跟要查询的字段名,使用条件表达式进行模糊匹配。
  • 支持的关键字:
    • Set:用于设置要更新的字段的值。
    • Where:用于指定更新操作的条件。
  1. 示例:

下面是一些示例来说明 JPA 更新方法命名语法规则的使用:

  • 根据用户名更新用户的邮箱:
代码语言:javascript
复制
void updateEmailByUsername(String username, String newEmail);
  • 根据用户ID更新用户的密码和状态:
代码语言:javascript
复制
void updatePasswordAndStatusByUserId(Long userId, String newPassword, boolean newStatus);
  • 根据订单状态和金额范围更新订单的支付状态:
代码语言:javascript
复制
void updatePaymentStatusByOrderStatusAndAmountBetween(String orderStatus, BigDecimal minAmount, BigDecimal maxAmount, String newPaymentStatus);

请注意,这些方法的命名需要符合 JPA 方法命名规则,并且与实体类中的字段名和类型相匹配。如果涉及到复杂的条件或多个字段的更新,可能需要使用其他查询方式,如使用 JPQL 或 Criteria 查询等。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JPA 持久化 方法命名语法规则
    • 查询方法:
      • 删除方法:
        • 统计方法:
          • 更新方法:
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档