qq969668
qq969668
2012-11-01 21:13

关于SSH多表的操作

已采纳

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • lbinzhang lbinzhang 9年前

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

    点赞 评论 复制链接分享

相关推荐