gpt4 book ai didi

java - 通用 Dao 和服务层

转载 作者:搜寻专家 更新时间:2023-11-01 03:44:24 65 4
gpt4 key购买 nike

我要为我的应用程序设计一个 DAO 层。我的重点是服务仅调用独立于底层实现的 DAO。

    public interface GenericSearchDao{
List getAll();
List getByQuery(String query);
}

public class UserJdbcSearch implements GenericSearchDao{

public List getAll(){
// Get all users;
}

List getByQuery(String query){
// Get users by query;
}

}

public class UserFileSystemSearch implements GenericSearchDao{

public List getAll(){
// Get all users from file system;
}


List getByQuery(String query){
// Get users by query[this leads to invalid operation];
}
}

public userService {

private GenericSearchDao dao = new UserFileSystemSearch();

public List getUsers(){
rturn dao.getAll();
}

public List getByQuery(String query){
return dao.getByQuery(query);
}
}

需要帮助:

我应该怎么做才能摆脱“getByQuery(query)”的特定实现,因为数据存储可以是 RDBMS、文件系统、FTP 等。

一般应该如何设计我的 Dao 层?

如果有人说“从 GenericSearchDao 中删除 getByQuery()”,那么在我需要特定于业务运营的数据时我应该怎么做,例如:具有角色的用户、具有产品的用户等。

最佳答案

What should I do to get rid from 'getByQuery(query)' specific implementaions because datastore can be RDBMS, filesystem, FTP etc.

你不需要,你只需要提供“通用”查询,例如“name = a”可以在数据库中执行查询,或者查找名为“a”的文件或几乎任何其他内容。

关于java - 通用 Dao 和服务层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5825317/

65 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com