Java前辈们,帮我解决个开发上的问题

界面上省市区下拉框的value值是数字,存到加盟申请表里的provid,cityid,zoneid字段(Number)。真正的名称是在Area这个行区表里。
当我们查询加盟申请表并以表格显示一行行输出的时候,不希望显示出来的是provid,cityid,zoneid,这些数字.我要的是真正的省市区名称显示出来。
请问你们是怎么做的?
难道是循环Hibernater对加盟申请表查过来的List集合?再根据集合里每条记录的provid,cityid,zoneid去行区表里把相应的名称查过来,组装好后再一条条记录塞回List。最后再返回List到界面用标签输出????
感觉这样子好像很不好。我觉得应该是用其他方式做的吧。具体怎么做的,能告诉一下吗。谢谢。。。
外界Java开发普遍是用什么方式来处理这个情况的???
据说用pojo封装来做,但是查询到记录后到底怎么使用这个pojo来替换数据呢?谁能大概说明一下,非常感谢。

要说明一下的是我们的所有表都不设外键,全部通过程序控制的,所以在加盟申请表里没有AREA对象属性的。否则的话问题就好办了。

oo

15个回答

关于这种级联问题,首先跟你说明,需要多次查询,但是可以一次返回,不用访问多次
public class CtItems(){
List provList;
List cityList;
List zoneList;
//getter...
//setter...自己实现getter和setter
}
public class searchAction(){
CtItems citems=new CtItems();
public List findProvList(){//具体自己去实现};
public List findCityList(int pid){//具体自己去实现
List
};
public List findZoneList(int cid){//具体自己去实现};
先查询出

public ActionForward doExecute(){
citems.setProvList(findProvList());
int fpid=;//取Prov第一条里面的ID
citems.setCityList(findCityList(fpid));
int fcid=;//取City第一条里面的ID
citems.setfindZoneList(findZoneList(fcid));
}
}
按照这样来整的话,你只需要返回一个citems就可以了,这样做很简单吧

[quote]要说明一下的是我们的所有表都不设外键,全部通过程序控制的,所以在加盟申请表里没有AREA对象属性的。[/quote]

程序可以控制啊. 查询出来的ID,
再根据Area查询下;
2次查询就可以了吧. 貌似不是问题.

你不是有id关联吗?其实他的作用就相当于外键,只不过不能约束两个表而已。

1.改表存储
2.不行的话,就用关联查询就可以了哇。 select a.name, b.providid,b.cityid from area a,provate表 b where a.zoneid = b.zoneid

可以用AJAX技术 dwr来实现,异步请求。数据表建议加一个字段code
0001,00010002类似这样的编码串
比如:0001代表安徽省
00010001 合肥市
00010002 黄山市
00010003 宣城市
等等,以这样有规律的编码,组织数据,如果你选安徽省,只需要将它的code:0001传过去 然后sql语句 like '0001____' 不就可以了吗?

dwr如果你不会,上网搜一下就行了,我只是告诉你思路,希望对你有所帮助.

改表结构。
表里的每一项都应该有id 和 name两个字段,查出来就得了

使用c:call在布面中就可以取到了

表中不是有ID吗,通过id来做外键,然后关联查询

1,对于数据库设计就应该是这样的,数据表与字典表。
数据表利用id存储信息,后台处理业务逻辑的时候根据id处理业务
在于用户交互的时候查询字典表,把ID翻译成为正常的数据。

2,一般的程序在处理这个问题的时候,会有专门的处理字典表的类,通过特定的方法,由字典序号和ID查询对应的数据。
在显示的时候根据需要ID和对应的数据做为一组数据传递到前台或者只传递数据,不传ID。

补充一点

[color=red]难道是循环Hibernater对加盟申请表查过来的List集合?再根据集合里每条记录的provid,cityid,zoneid去行区表里把相应的名称查过来,组装好后再一条条记录塞回List。最后再返回List到界面用标签输出???? [/color]

这个说法基本上是对的,不过如前面说的,需要整理一个统一的字典表处理器。

根据架构设计的不一样,往前台传递的方式略有不同。

共15条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐