qq969668 2012-11-01 21:13
浏览 257
已采纳

关于SSH多表的操作

比如有 A B C D E五张表
A对B单向关联 B对C单向关联 C对D单向关联 D对E单向关联。
比如我前台WEB页面表格需要显示5张表中的一些数据。而其中查询的筛选条件是C D这两张表的一些字段
这样一个方法倒是是该写在DAO层还是在SERVICE层再自己组装。
如果写的话又该怎么写。
刚学不久,没头绪。=。=

  • 写回答

1条回答 默认 最新

  • lbinzhang 2012-11-02 10:01
    关注

    这个问题看你业务的复杂度,
    1.因为是查询,所以我们会想到sql,用一条sql来解决这个问题,因为涉及到5张表,如果涉及到复杂业务,sql语句应该比较大,字段关系较多,sql中做状态判断比较复杂,也比较麻烦,对于一些特别复杂的业务,一般sql实现起来有些难度,而且对sql比较薄弱的人来说,不利于维护
    2.另一种就是使用表之间的层级关系,可以service的实现类中用java的for循环来实现,各种状态比较容易判断,就是涉及到循环次数较多,而且某一层的循环中有可能为了得到某些东西,会再嵌套一些循环,这样数据量如果较大,会影响速度。
    因此,个人认为,
    1.如果是业务复杂度一般,可以用sql来解决,也可以用service实现类来解决
    2.如果业务非常复杂,而且数据量大,可以考虑存储过程
    3.如果业务非常复杂,数据量一般,可以考虑用也可以用service实现类来解决
    以上只是个人观点,请大家多多指教。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?