在J2EE的DAO层开发中,很多人爱写一个BaseDao接口,里面写上一个基本方法的声明,然后其他DAO类都实现该接口,使用的时候用 BaseDao dao = new UserDao();但是在具体的DAO类中,对数据的处理方法不尽相同,肯定有些DAO类没有该方法,有些DAO必需该方法,这是应该怎么办??如果在具体使用的时候 只是些 USerDao dao = new UserDao(),那接口的意义何在呢??对这些一直很不解,,求高人解答。
解决方案 »
- Cannot create a session after the response has been committed
- JSF中selectOneMenu的中文问题
- 用过FCKEditor的高手进来帮帮忙
- acegi登录认证能不能从两个或多个表中验证?
- log4j日志不能存入数据库
- struts+hibernate开发时遇到的错误?各位朋友知道的说下了,谢谢
- 求救:关于JavaBean的调用问题,一个简单的JavaBean,我就是调不出来,请高手指点
- 如何调用james中的addUser(String username,String password)方法来增加用户
- 高手请进,肯定给分_在线等
- 用java实现
- 我的web项目怎么没有class了?
- struts2.2.3配置后 运行出现HTTP 404错误!怎么回事啊?
如果你到后面还需要一个XxDAO ,里面需要BaseDao的方法,,你该怎么写?
BaseDao是接口,对于大部分DAO类里,肯定都会有 增删改查等基本的实现方法,但是肯定也会有其他的不统一的方法,那这么方法怎么办呢?
所有公共方法的集合,,但是具体调用某个实现类的时候还得ImplDao dao = new ImplDao();声明实现类自己的对象那接口有什么用呢?
了
1、public interface BaseDAO 裏面寫公用得crud,注意,返回對象不是具體得某個bean,給成Object。
2、public abstract class BaseDAOImpl implements BaseDAO 給出BaseDAOImpl,實現BaseDAO裏面的方法。
3、public class UserDAOImpl extends BaseDAOImpl implements CRInfoDAO CRInfoDAO寫你自己獨有的方法。
這也是為什麽要設置BaseDAO得根本所在。
如果是硬要找到多個 Dao的共同集合,那就是crud了,其他的當然是根據需要來設計了,當然也要用到泛型
简单说 在SSH中,你用Spring 管理的时候,如果有接口,你只需要修改xml文件就可以更换实体的功能,比修改源代码好的多。
设计模式原则,针对接口编程,避免针对实现编程。
要new 也是 接口 对象 = new 实现类
所以以後做項目最好少new