首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

让SpringSide的DAO针衔接口编程

2012-10-13 
让SpringSide的DAO针对接口编程考虑到项目将在全省各市部署,预想到在条件允许的市需要调其他市的档案,因此

让SpringSide的DAO针对接口编程
考虑到项目将在全省各市部署,预想到在条件允许的市需要调其他市的档案,因此希望DAO能针对接口编程,方便以后扩展以及适应不同的市。
于是在SpringSide的examples.miniweb上作了些修改,希望能够抛砖引玉,更希望各位批评指正。

将IdEntity改为EntityObject,希望以后所有实体都继承它。Id不一定放在这,但要重写equals和hashCode等。



然后RoleDaoTest如下写:
package org.springside.examples.miniweb.dao.security.impl;import java.util.List;import org.springframework.stereotype.Repository;import org.springside.examples.miniweb.dao.impl.GenericDaoImpl;import org.springside.examples.miniweb.dao.security.ResourceDao;import org.springside.examples.miniweb.entity.security.Resource;/** * 受保护资源对象的DAO实现 *  * @author langshao */@Repositorypublic class ResourceDaoImpl extends GenericDaoImpl implements ResourceDao {public static final String QUERY_BY_RESOURCETYPE_WITH_AUTHORITY = "select distinct r from Resource r "+ "left join fetch r.authorityList WHERE r.resourceType=? ORDER BY r.position ASC";@SuppressWarnings("unchecked")public List<Resource> getUrlResourceWithAuthorities() {return getHibernateTemplate().find(QUERY_BY_RESOURCETYPE_WITH_AUTHORITY,Resource.URL_TYPE);}}


这样做主要是想针对接口编程,还有就是不想每新增一个Entity就要增加一个DAO,只要通用的够用就不用再写了。
Write less, do more. 1 楼 chirs 2010-03-24   我怎么觉得接口到底用啊. 2 楼 chirs 2010-03-24   难道一个DAO的基本封装还有多种实现吗?今天使用hibernat明天就使用jdbc或者ibatis了吗? 3 楼 langshao 2010-03-24   chirs 写道难道一个DAO的基本封装还有多种实现吗?今天使用hibernat明天就使用jdbc或者ibatis了吗?
是今天访问本地数据库,明天可能还需要查其他市的数据库,可能通过WebService的方式。
项目有点特殊,在各地区部署,而数据又要共用。再者,数据量太大,每个市都几千万,还要集中到省就更加了,字段也上百个,估计将来要切分之类优化的,希望这些数据层的变化不影响到业务层。

热点排行