开发者社区> 问答> 正文

关于 在MVC架构中...sql语句放在什么地方?

第一种方式:
我之前是将sql语句放到dao中....
在servlet中调用dao的方法
传递bean到dao中进行相关操作....
这样的话更具不同的操作...我就要创建多个dao方法

第二种方式:
后来我把sql放到servlet中....直接在servlet中拼好sql
在dao中直接执行sql就可以了

这样我只需要两个dao方法就差不多了...一个查询..一个更新

后来我使用了hibernate...
hibernate两个方式都可以..
但是我在想 到底是在servlet中写sql 然后dao执行sql 还是说在dao中写sql执行

第一种方式,我个人感觉好处就是servlet中没有那么多sql代码了..传递数据通过bean 传给dao方法
但是坏处就是dao中会出现大量的dao方法

第二种方式..dao的方法数量减少了...但是在servlet中会有大量的sql字符串

我现在有点矛盾了...

在修改逻辑的时候...如果第一种方式..servlet中需要修改...dao中的sql语句也需要修改

第二种方式..多有修改都在servlet中进行..修改sql 就好了.因为dao只负责执行你给的sql语句就可以了..

所以我想请教一下各位...sql语句放在servlet中合适 还是dao中...
或者一般的做法是什么样的?

展开
收起
爵霸 2016-03-04 14:54:19 4868 0
3 条回答
写回答
取消 提交回答
  • 即使是搬砖,也要有自己的姿势

    其实换个角度想就很容易了。在领域模型思想中,针对越接近硬件层的编码越要向下沉淀,因为硬件层是不确定的因素,需要对这种操作进行隔离,抽象。比如针对同一种数据,刚开始使用mysql存储,可数据量达到一定规模不一定用mysql存储,上层的业务逻辑不一定改变,改变的仅仅是接近硬件层的存储方式。所以sql这种接口越往下沉淀扩展性和易用性越好。

    2021-10-11 17:22:09
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    建议放在XML文件中

    2021-09-30 16:12:15
    赞同 展开评论 打赏
  • 都要付出代价的。

    dao 越多,结构越清晰,耦合度越低,写代码就很多,不过很多通用操作可以在dao基类中完成;

    dao 越少,写的代码就越少,但是很多东西就耦合在一起了,阅读起来难,维护起来麻烦,东西不够清晰,sql 没有一个放在什么地方的标准,就会造成滥放。

    2019-07-17 18:52:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
MaxCompute Serverless 架构演进 立即下载
阿里云消息队列的 Serverless架构演进 立即下载
青团社云原生架构实践—亿级灵活用工平台的架构实践 立即下载