sql多表查询显示问题

kkeennvviinn 2010-10-08 02:37:59
struts1.x dao方法中实现三个表的查询,但是actionform有三个,我只能取其中一个表中的数据,我想取到三个表的数据该如何解决?
...全文
97 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
没看懂楼主的问题哦?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧