SSH整合中Dao层来怎么定义 
我看到好多教程上都是每个实体对应一个dao接口然后把他再实现。
我现在想问:
既然Dao是和数据库打交道,也就是说CRUD这些功能。
为什么不直接写一个通用的Dao(泛型),然后在业务层在具体实现每个实体的功能?
请大侠们帮忙说说其中的道理
SSH数据库Dao

解决方案 »

  1.   

    不同的服务层,用不同的DAO,去对应不同的表做CRUD,
      

  2.   

    不同的表对应不同的Dao层以及接口这样代码的重用不是降到了最低了吗
    Spring注入的内容页不是增多了吗
      

  3.   

    Dao层维护?什么意思啊那不就是增删查改吗~~~维护在业务层不是更好吗?
      

  4.   

    Dao层维护?什么意思啊那不就是增删查改吗~~~维护在业务层不是更好吗?比如说,你要更换操作数据库的框架,怎么改?你要改dao层吧?dao层修改之后,那些继承这个公用dao类的类也要改,使用这个dao公共类的那一层也要改,一发动全身啊而如果是接口的话就不一样了。
      

  5.   

    很多时候就是写一个通用的dao层然后来调用执行的,这样是可以的,
      

  6.   

    你这么说就是想只写个dao基类了?那你的这个基类的维护会非常困难,而且分工开发也会出现各种问题.耦合性非常高,可维护性也非常低.举个例子,现在你要修改一个sql操作,但是你只能修改基类里面的操作,但这些改动会影响所有模块调用该方法的地方.
      

  7.   

    你想说的是写一个BaseDAO,然后实现基本的CRUD么?这样维护起来不是很好,还是分开写dao接口,比较好、、、