小弟今天初次发帖,还望各位大虾不吝赐教! 这几天一直在思考一个问题:就是DAO层是还需要?大家都知道传统的DAO就是对一个对象的增删查改,然而我觉得这些工作完全可以放在这个对象去做,如在这个对象中的除了我们常见的一些属性和setter和getter方法,还可以增加save,find,update,delete方法来完成DAO操作,我结合spring+hibernate做了个简单的save的操作,觉得这完全是可行的。
//所有要保存对象的基类 public class BaseModel extends HibernateDaoSupport{ public String id;//对应中的ID //定义对象的保存操作 public void save(){ getHibernateTemplate().save(this); } public String getId() { return id; } public void setId(String id) { this.id = id; } }
//具体的要保存的对象 public class Model1 extends BaseModel implements Cloneable { private String name; //无参构造函数 public Model1() { } //全参构造函数 public Model1(String anName) { this.name = anName==null?anName:anName.trim(); } /**
- 静态构造方法
//hibernate配置
//spring配置
通过我的测试这个save方法是成功的,那我就想如果把所有的增删查改放到对象中应该是完成可行的,这样做的就可以避免了DAO层的编写,而对于DAO层解耦的作用,这里也可以通过不同的BaseModel来实现,可以抽象出一个接口,包括save,find,update,delete方法,通过不同的实现来达到解耦目的!
对于这个想法还处于萌芽状态,希望得到各位的指点,是否具有可行性?