sql多表查询显示问题

kkeennvviinn 2010-10-08 02:37:59
struts1.x dao方法中实现三个表的查询,但是actionform有三个,我只能取其中一个表中的数据,我想取到三个表的数据该如何解决?
...全文
73 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kkeennvviinn 2010-10-08
[Quote=引用 7 楼 year1234 的回复:]
一个action只能配置一个form,但dao中查询几个表和这没关系啊,dao中想查几个就查几个呗。
另外个人建议dao中最好别用form了,理论上form是用来将页面提交的参数封装之后传给action的,form与页面对应应属view层。所以dao中用form就不大规范了,最好是自己再写一个vo类封装数对应据库中字段的信息,在model层与control层之间用vo来传递参数。
[/Quote]

所言极是,是个好建议,谢谢
回复
suzhiyuan 2010-10-08
用 Hibernate 的 关联查询比较好
回复
year1234 2010-10-08
一个action只能配置一个form,但dao中查询几个表和这没关系啊,dao中想查几个就查几个呗。
另外个人建议dao中最好别用form了,理论上form是用来将页面提交的参数封装之后传给action的,form与页面对应应属view层。所以dao中用form就不大规范了,最好是自己再写一个vo类封装数对应据库中字段的信息,在model层与control层之间用vo来传递参数。
回复
aoli444 2010-10-08
再建一个form里面引用那3张表的实体类
回复
kkeennvviinn 2010-10-08
[Quote=引用 2 楼 waynett316 的回复:]
查询后取得list用for循环遍历Iterator

Java code

for (Iterator it = list.iterator(); it.hasNext();) {
Hashtable ht = new Hashtable();
ht = (Hashtable) it.next();
String str = ht.get("字段名").……
[/Quote]

我的list在方法中是这么取得:
List list = new ArrayList();
xForm xform =null;
try {
ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
xform = new xForm ();
tform.setx();
list.add(xform);
}

这个xform仅仅是一个表的实体类,这样查询的话只查询了一个表的数据

回复
tracyXiaoAi 2010-10-08
这三张表应该有联系的吧
如果有的话,就直接用hibernate的映射关系就好啊,或者是连表查询啊

如果他们没有关系的话,那你就一张一张的查询出来然后在塞到相应的对象里面就好了啊
回复
waynett316 2010-10-08
查询后取得list用for循环遍历Iterator

for (Iterator it = list.iterator(); it.hasNext();) {
Hashtable ht = new Hashtable();
ht = (Hashtable) it.next();
String str = ht.get("字段名").toString();
System.out.println(str);

回复
sforat 2010-10-08
没看懂楼主的问题哦?
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-08 02:37
社区公告
暂无公告