比如有 A B C D E五张表
A对B单向关联 B对C单向关联 C对D单向关联 D对E单向关联。
比如我前台WEB页面表格需要显示5张表中的一些数据。而其中查询的筛选条件是C D这两张表的一些字段
这样一个方法倒是是该写在DAO层还是在SERVICE层再自己组装。
如果写的话又该怎么写。
刚学不久,没头绪。=。=
关于SSH多表的操作
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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里的文字?