DAO 方法的标准命名约定
2022-09-04 06:23:01
DAO方法是否有类似于JavaBeans的标准命名约定?
例如,我见过的一个命名约定是用于返回单个实体并返回实体列表。get()
find()
如果没有,您的团队正在使用什么,为什么?
DAO方法是否有类似于JavaBeans的标准命名约定?
例如,我见过的一个命名约定是用于返回单个实体并返回实体列表。get()
find()
如果没有,您的团队正在使用什么,为什么?
我知道如下约定:
以执行操作和包含搜索条件的方法名称(如 、 、 等)开始的方法。find
select
findById
findByUsername
findByFirstNameAndLastName
修改方法以 、 、 开头。create
update
delete
查看Spring Data JPA使用的约定。这是Spring框架的一部分,该框架根据命名约定对方法名称的检查等因素自动编写DAO。
get()
对于单个实体来说,这似乎不是一个好的选择,因为Java开发人员将get与Java-bean getter相关联。
通常,我以这样的方式命名方法,即名称提示将由该方法应用的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)