Dao 层 能不能用静态写

来源:2-7 JDBC实战---搭建控制层

谜之米

2017-03-15 16:13

Dao 层 能不能用静态写?这样控制层 调用的时候就不用每次都要new 一个dao层了

写回答 关注

1回答

  • Smile丶微冷
    2017-03-15 18:07:42
    已采纳

    DAO 采用静态方法的话有好处,也有坏处。

    做成静态方法的话,完全把 DAO 想成一个工具类了。一般来说工具类是与具体的业务性质无关的,
    存放的是一些工具方法,在任何程序中都有可能用到的东西。

    做成静态方法的话,让业务层与 DAO 层完全耦合起来了,如果 DAO 在技术更新后需要采用其他的
    ORM 工具重新实现的话,这样一来根本就不可能另外再实现一个 DAO 类,只能在原始的 DAO 类中
    更改,要么就需要更改业务类中的代码,如果项目很大的话,这个工作量是非常惊人的。

    静态 DAO 方法,在事务上下文中会存在问题,没办采用声明式事务进行管理(比如:Spring 中或
    者是 EJB 中的),因为声明式事务处理需要采用动态代理方式进行事务上下文的切入,由于不存在
    DAO 对象,因此也不存在代理对象,也没办法使用声明式事务,只能手工处理。

    如果一个业务逻辑调用多个 DAO 方法的话,在这种事务上下文环境中,如果靠手工处理事务那会是
    非常繁锁,而且将事务逻辑侵入到了业务层中。


                                                             以上均转载自 : http://bbs.csdn.net/topics/310103844

                                                             强烈建议!!!有问题或者提问之前先去找度娘或者谷哥

JDBC之 “ 对岸的女孩看过来”

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

99327 学习 · 856 问题

查看课程

相似问题