java – dao层中的多个方法

目前我正计划重构一个用
spring
spring写的旧代码库.

我在dao层看到了很多方法,它们解决了同样的目的.

例如,我有user_info表

在dao-layer中有很多方法

 getUserInfoById(String userId);
 getUserInfoByName(String name);
 getUserInfoByIdAndName(String userId,String name) 

而这样的例子不胜枚举.

我知道这是非常糟糕的做法.

我认为像我这样的解决方案只有一个方法getUserInfo(用户用户)
在这个方法里面我将封装查询结构

query.with(user.username).with(user.userId)…

我不知道是不是正确的解决方案……

有什么建议?任何从非常基本的东西解释这个概念的页面的链接也是值得赞赏的.

最佳答案 经过激烈的浏览,我发现spring-jpa集成
here

我唯一创建的是每个实体的接口. spring本身处理DAO层的创建并处理该实体上的所有操作,并且还支持批量操作.我们可以在该接口中添加我们的自定义方法spring jpa将实现这些方法.不需要编写任何与DAO层相关的代码.

示例示例:

@Repository

public interface UserRepository extends PagingAndSortingRepository<UserCore, Serializable>, JpaSpecificationExecutor<UserCore>  {

}

我们也可以从DAO方法返回java流,如here所述

它也有规范支持,类似于hibernate中的条件.

点赞