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

crud方法命名示例

以下是基于表名dste_project_indicator(项目指标表)的完整命名示例,覆盖各类增删改查场景:

1. 表名与实体类映射

// 表名:dste_project_indicator
// 实体类:DsteProjectIndicatorEntity
public class DsteProjectIndicatorEntity {private Long id;private Long projectId;private String indicatorCode;private String indicatorName;// 其他字段...
}

2. 基础增删改查方法

// 新增
int insert(DsteProjectIndicatorEntity entity);
int save(DsteProjectIndicatorEntity entity);// 修改
int update(DsteProjectIndicatorEntity entity);
int modify(DsteProjectIndicatorEntity entity);// 逻辑删除
int logicDeleteById(Long id);
int markAsDeletedById(Long id);// 物理删除
int deleteById(Long id);
int removeById(Long id);// 查询单条
DsteProjectIndicatorEntity selectById(Long id);
DsteProjectIndicatorEntity getById(Long id);// 查询多条
List<DsteProjectIndicatorEntity> selectList(QueryParam param);
List<DsteProjectIndicatorEntity> listByCondition(QueryParam param);

3. 批量操作方法

// 批量新增
int batchInsert(List<DsteProjectIndicatorEntity> entityList);
int insertBatch(List<DsteProjectIndicatorEntity> entityList);// 批量修改
int batchUpdate(List<DsteProjectIndicatorEntity> entityList);
int updateBatch(List<DsteProjectIndicatorEntity> entityList);// 批量逻辑删除
int batchLogicDeleteByIds(List<Long> ids);
int batchMarkAsDeleted(List<Long> ids);// 批量物理删除
int batchDeleteByIds(List<Long> ids);
int batchRemoveByIds(List<Long> ids);

4. 条件操作方法

// 条件新增(根据另一个实体创建)
int insertByEntity(DsteProjectIndicatorEntity template);
int saveFromTemplate(DsteProjectIndicatorEntity template);// 条件修改(根据条件更新部分字段)
int updateByCondition(UpdateParam updateParam, QueryParam queryParam);
int modifyFieldsByCondition(Map<String, Object> fields, QueryParam condition);// 条件逻辑删除
int logicDeleteByCondition(QueryParam param);
int disableByCondition(QueryParam param);// 条件物理删除
int deleteByCondition(QueryParam param);
int removeByCondition(QueryParam param);

5. 分页与统计方法

// 分页查询
Page<DsteProjectIndicatorEntity> selectPage(PageParam pageParam, QueryParam queryParam);
IPage<DsteProjectIndicatorEntity> pageByCondition(PageParam page, QueryParam condition);// 统计查询
Long countByCondition(QueryParam param);
Integer countActiveIndicators();

6. 复杂业务方法

// 按项目ID查询指标列表
List<DsteProjectIndicatorEntity> selectByProjectId(Long projectId);
List<DsteProjectIndicatorEntity> listIndicatorsByProject(Long projectId);// 按指标编码查询(唯一键)
DsteProjectIndicatorEntity selectByCode(String indicatorCode);
DsteProjectIndicatorEntity getByUniqueCode(String code);// 逻辑删除并关联删除子指标
int logicDeleteWithChildren(Long id);
int disableIndicatorCascade(Long id);// 批量新增并返回主键
List<Long> batchInsertAndReturnIds(List<DsteProjectIndicatorEntity> entityList);

命名原则总结

  1. 动词选择

    • 新增insert/save/create
    • 修改update/modify/edit
    • 删除delete/remove(物理)、logicDelete/disable/markAsDeleted(逻辑)
    • 查询select/get/list/page
  2. 参数与返回值

    • 单数形式(如 insert)处理单个实体
    • 复数形式(如 batchInsert)处理集合
    • ByXXX 后缀表示按条件操作
  3. 业务场景

    • 包含业务对象名称(如 ProjectIndicator
    • 特殊场景使用特定动词(如 archive/invalidate/restore
  4. 代码风格一致性

    • 保持项目内方法命名统一(如统一用 insertsave
    • 使用 Entity/Param/VO 明确参数类型

示例实现(MyBatis Mapper)

public interface DsteProjectIndicatorMapper {// 单条新增@Insert("INSERT INTO dste_project_indicator (...) VALUES (...)")int insert(DsteProjectIndicatorEntity entity);// 批量新增@Insert("<script>INSERT INTO dste_project_indicator (...) VALUES " +"<foreach collection='list' item='item' separator=','>(...)</foreach></script>")int batchInsert(@Param("list") List<DsteProjectIndicatorEntity> entityList);// 条件逻辑删除@Update("UPDATE dste_project_indicator SET delete_at = NOW() WHERE project_id = #{projectId}")int logicDeleteByProjectId(@Param("projectId") Long projectId);// 分页查询List<DsteProjectIndicatorEntity> selectPage(@Param("page") PageParam pageParam, @Param("condition") QueryParam condition);
}

根据实际业务需求(如数据库类型、ORM框架、事务要求等),选择最合适的命名方式和实现策略。

相关文章:

  • 碳计量新突破!安科瑞碳电表赋能企业绿色低碳转型
  • 正则表达式篇
  • std::initialzer_list 与花括号{}数据列表
  • 游戏引擎学习第304天:构建与遍历图
  • 【ffmpeg】编解码器
  • 区分:union(),coalesce () 和 repartition ()
  • TCP原理解析
  • 『VUE』vue-quill-editor 添加超链接的同时为文字添加颜色(详细图文注释)
  • Oracle 物理存储与逻辑管理
  • DevOps体系之Jmeter
  • React 第四十五节 Router 中 useHref() Hook的使用详解及注意事项
  • 【北邮通信系统建模与仿真simulink笔记】(2)2.3搭建仿真模型模块操作运行仿真
  • 高效数据库管理新体验:SQLynx 3.7 功能解析与团队协作场景实践
  • BGP为什么要配置对等IP?
  • 企业异构系统和信息孤岛应用信息集成的方案
  • 产品经理面经(三)
  • 电商系统搭建对企业的多维影响与战略价值
  • 帕鲁杯证书在线生成-仅供娱乐
  • 20T资源大礼包,自用,自取
  • Spring Boot与Disruptor高性能队列整合指南
  • 如何查到别人的网站做哪些竞价词/怎么优化推广自己的网站
  • 兰州市城乡建设局网站/网络推广公司名字
  • 在线电影网站建设论文/seo教学培训
  • 做简历的网站都有哪些/网站建设杭州
  • 自己做的网站网站搜索/百度词条搜索排行
  • 简阳建设网站公司/网页优化seo公司