用sql语句查出的字段顺序 和 查完放入list里的顺序不一样 。。

我的sql语句字段位置是这样的....

select htbh, fbf, cbf, nian,yue, ri, qx_glq, qx_zyz, jbt_zw1 from ....

可是查出来放进list里以后 字段位置就不是这样了..

{jbt_zw1=水, yue=3, cbf=周鹏, qx_zyz=2, fbf=公司, ri=1, qx_glq=1, nian=2011, htbh=861}

我想问下 怎么能变回sql里那样的顺序呢

[quote]我查的是多个表。。。 javabean可以封装多个表的字段么?。。

以前就是一个表一个javabean没弄过多个表的。。

应该怎么弄呢。。 [/quote]
那你把这个javabean的字段覆盖所有你需要查的,相当于一个视图的bean了。

应该不会这样啊 list是有序的。你把你封装成list的过程代码贴一下

你sql放到数据库客户端工具里面 是查出来有序的么?

给每个字段加上别名如:
select htbh a, fbf b, cbf c, nian d,yue e, ri f, qx_glq g, qx_zyz h, jbt_zw1 from 。。.

你是把字段全部放在list里面哦

我怀疑是你的字段名有重复 或者不识别什么的,和ls所说,你都加个别名试试。

你用这个queryForList查出来的List里存放的都是HashMap,顺序当然会不一样。

换个查询方式吧

一般是弄一个model出来,HashMap是别指望排序了,但是sql的顺序其实没什么意义,实再需要的话你就不要用HashMap的toString方法,自己按照顺序print就好了……

那你封装到javabean里面吧 :oops:

话说如果真的要顺序一致,其实也可以做到,就是比较麻烦,记得spring里有个query方法是可以传入一个处理结果集的接口实现的,只要你自己用LinkedHashMap实现一把就好了。

既然是查询出来写入excel,何不封装一个javabean呢,写excel操作javabean要比使用使用单个的字段方便多了