加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Generic Dao和服务层

发布时间:2020-12-15 02:25:11 所属栏目:Java 来源:网络整理
导读:我将为我的应用程序设计一个DAO层.我的重点是服务只调用DAO,它独立于底层实现. public interface GenericSearchDao{ List getAll(); List getByQuery(String query);}public class UserJdbcSearch implements GenericSearchDao{ public List getAll(){ // Ge
我将为我的应用程序设计一个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(查询)’特定的实现,因为数据存储可以是RDBMS,文件系统,FTP等.

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

如果任何人说“从GenericSearchDao中删除getByQuery()”那么在我需要特定于业务操作的数据的情况下我应该怎么做:例如:具有角色的用户,具有产品的用户等.

解决方法

你可能会发现这种方法很有用 http://www.bejug.org/confluenceBeJUG/display/BeJUG/Generic+DAO+example

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读