DAO方法的标准命名约定

时间:2013-12-07 22:37:53

标签: java design-patterns naming-conventions dao

是否有DAO方法的标准命名约定,类似于JavaBeans?

例如,我看到的一个命名约定是使用get()返回单个实体,find()返回实体列表。

如果没有,你的团队使用的是什么?为什么?

2 个答案:

答案 0 :(得分:17)

我知道如下惯例:

  • find执行select操作开头的方法,以及包含搜索条件的方法名称,例如findByIdfindByUsernamefindByFirstNameAndLastName

  • 修改方法以createupdatedelete开头。

查看Spring Data JPA使用的约定。这是Spring框架的一部分,它根据命名约定检查方法名称,自动编写DAO。

单个实体的

get()似乎不是一个好的选择,因为Java开发人员将get与Java-bean getter相关联。

答案 1 :(得分:10)

通常我以这样的方式命名方法,即名称提示将由方法应用的CRUD操作的类型,如add*save*find*

  • add*可应用于INSERT操作,例如addPhoneNumber(Long userId)

  • get*可以应用于SELECT操作,例如getEmailAddress(Long userId)

  • set*可应用于执行UPDATE操作的方法。

  • delete*可应用于DELETE操作,例如deleteUser(Long userId)。虽然我不太确定物理删除有多大用处。就个人而言,我会设置一个标志,表示该行不会被使用,而不是执行物理删除。

  • is*可以应用于检查某些内容的方法,例如isUsernameAvailable(String username)