-
用sql语句查出的字段顺序 和 查完放入list里的顺序不一样 。。3
我的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里那样的顺序呢
问题补充:AngelAndAngel 写道应该不会这样啊 list是有序的。你把你封装成list的过程代码贴一下
public List chaList(String sql){
List list=new ArrayList();
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
list=jdbcTemplate.queryForList(sql);
return list;
}
问题补充:AngelAndAngel 写道你sql放到数据库客户端工具里面 是查出来有序的么?
我用的sql server 2000 用企业管理器查显示的和sql语句里是一样的顺序。。
问题补充:AngelAndAngel 写道你是把字段全部放在list里面哦
额 对啊 把查出来的所有东西都放list里。。
问题补充:AngelAndAngel 写道我怀疑是你的字段名有重复 或者不识别什么的,和ls所说,你都加个别名试试。
加完查出来的是这样的
{f=1, g=1, d=2011, e=3, b=公司, c=周鹏, a=861, h=2, i=水}
sql:select a.htbh a, a.fbf b, a.cbf c, a.nian d, a.yue e , a.ri f, a.qx_glq g , a.qx_zyz h, b.jbt_zw1 i from。。。
问题补充:fmjsjx 写道你用这个queryForList查出来的List里存放的都是HashMap,顺序当然会不一样。
额。。 那应该用什么查呢
问题补充:fmjsjx 写道一般是弄一个model出来,HashMap是别指望排序了,但是sql的顺序其实没什么意义,实再需要的话你就不要用HashMap的toString方法,自己按照顺序print就好了……
主要是我要把查出来的数据导出到excel里。。 用到了
- int rowIndex = 1;
- int columnIndex = 0;
- for (Map<String, String> row : list) {
- // row写入到excel;
- columnIndex = 0;
- Set<java.util.Map.Entry<String,String>>cellSet=row.entrySet();
- for (java.util.Map.Entry<String, String> data : cellSet) {
- String d = data.getValue().toString();
- tring d = String.valueOf(data.getValue());
- label = new Label(columnIndex, rowIndex, d);
- try {
- sheet.addCell(label);
- } catch (Exception e) {
- throw new IOException(e.getMessage());
- }
- columnIndex++;
- }
- rowIndex++;
- }
问题补充:AngelAndAngel 写道那你封装到javabean里面吧
我查的是多个表。。。 javabean可以封装多个表的字段么?。。
以前就是一个表一个javabean没弄过多个表的。。
应该怎么弄呢。。2011年10月11日 09:26给你武将吕布赵云,谋士诸葛亮庞统,你能统一三国?广告新数网络
12个答案按时间排序按投票排序
采纳的答案
引用
我查的是多个表。。。 javabean可以封装多个表的字段么?。。
以前就是一个表一个javabean没弄过多个表的。。
应该怎么弄呢。。
以前就是一个表一个javabean没弄过多个表的。。
应该怎么弄呢。。
那你把这个javabean的字段覆盖所有你需要查的,相当于一个视图的bean了。
2011年10月11日 11:05
既然是查询出来写入excel,何不封装一个javabean呢,写excel操作javabean要比使用使用单个的字段方便多了
2011年10月11日 10:47
话说如果真的要顺序一致,其实也可以做到,就是比较麻烦,记得spring里有个query方法是可以传入一个处理结果集的接口实现的,只要你自己用LinkedHashMap实现一把就好了。
2011年10月11日 10:17
一般是弄一个model出来,HashMap是别指望排序了,但是sql的顺序其实没什么意义,实再需要的话你就不要用HashMap的toString方法,自己按照顺序print就好了……
2011年10月11日 10:04
给每个字段加上别名如:
select htbh a, fbf b, cbf c, nian d,yue e, ri f, qx_glq g, qx_zyz h, jbt_zw1 from 。。.
2011年10月11日 09:36
应该不会这样啊 list是有序的。你把你封装成list的过程代码贴一下