0 0

用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个答案 按时间排序 按投票排序

0 0

采纳的答案

引用
我查的是多个表。。。     javabean可以封装多个表的字段么?。。

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

应该怎么弄呢。。

那你把这个javabean的字段覆盖所有你需要查的,相当于一个视图的bean了。

2011年10月11日 11:05
0 0

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

2011年10月11日 10:47
0 0

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

2011年10月11日 10:17
0 0

那你封装到javabean里面吧

2011年10月11日 10:13
0 0

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

2011年10月11日 10:04
0 0

换个查询方式吧

2011年10月11日 10:01
0 0

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

2011年10月11日 09:57
0 0

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

2011年10月11日 09:53
0 0

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

2011年10月11日 09:45
0 0

给每个字段加上别名如:
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
0 0

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

2011年10月11日 09:35
0 0

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

2011年10月11日 09:28

相关推荐

    通用SQL数据库查询语句范例

    例如,下面的语句查询 testtable 表中姓名为“张三”的 nickname 字段和 email 字段。 ``` Select nickname,email FROM testtable Where name='张三' ``` 二、选择列表 选择列表(select_list)指出所查询列,它...

    Excel VBA SQL 语句 范例

    这个 SQL 语句将从 Master 页中提取所有行记录,其中 ItemCode 字段左边六位字符值、U_Cat1 字符值、U_Cat2 字符值和 U_Cat3 右边两位数字值不相同的行记录。最后,我们可以使用以下代码来将结果复制到 Sheet2 页中...

    Hibernate中Sql语句

    - 当SQL语句较为复杂时,建议将其抽取为独立的方法或配置文件,以便于维护和复用。 - 对于频繁使用的查询,可以考虑使用缓存机制来提高性能。 通过以上分析可以看出,在Hibernate中使用原生SQL能够更灵活地处理复杂...

    Mybatis执行SQL语句的方式

    Mybatis 执行 SQL 语句的方式 ...我们也可以使用 selectOne 方法和 selectList 方法来执行 SQL 语句。 Mybatis 提供了多种方式来执行 SQL 语句,开发者可以根据需要选择合适的方式来实现业务逻辑。

    SQL Sever查询语句大全集锦

    例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`=’张三’ (一) 选择列表 选择列表(select_list)指出所查询列,它可以是...

    Mybatis plus无介绍快使用,自定义sql语句CRUD增删改查附源码(二)

    4. SQL语句直接注入:在Mapper接口的方法中,可以使用@Select、@Update等注解直接写入SQL语句。 四、CRUD操作详解 1. 创建(Create):通过Insert方法插入数据,支持单条和批量插入,Mybatis Plus会自动处理主键...

    经典SQL语句大全

    1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + ...

    C#泛型、反射实例、自动生成sql语句

    通过反射,我们可以获取到实体类的属性及其对应的数据库字段,从而构建INSERT或UPDATE的SQL语句。这种方法极大地简化了数据库操作,提高了开发效率。 **总结** C#的泛型和反射为开发者提供了极大的灵活性和便利性...

    sql截取中间字段

    #### 原始SQL语句 ```sql SELECT tables.num FROM ( SELECT LEFT(STUFF(shangpindata, 1, CHARINDEX(',', shangpindata), ''), CHARINDEX(',', STUFF(shangpindata, 1, CHARINDEX(',', shangpindata), '')) - 1) AS...

    WinForm+SQL多表联合自定义查询

    `SqlParameter`对象代表了SQL语句中的占位符参数,它包含了参数的名称和值。将这些参数收集到`List&lt;SqlParameter&gt;`中,然后在执行查询时传递给`SqlCommand`对象,可以确保安全、高效地执行SQL命令。 在实际编码过程...

    SQL查询语句精华文章

    例如,下面的语句查询 testtable 表中姓名为“张三”的 nickname 字段和 email 字段。 ``` SELECT `nickname`,`email` FROM `testtable` WHERE `name`='张三' ``` ### 选择列表 选择列表(select_list)指出所...

    java如何获得数据库表中各字段的字段名

    使用`PreparedStatement`执行SQL查询语句(这里假设查询的是名为`dept`的表),并获取结果集`ResultSet`。 4. **获取元数据**: ```java ResultSetMetaData metaData = resultSet.getMetaData(); ``` 通过调用...

    Hibernate生产SQL语句

    在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者通过面向对象的方式操作数据库,而无需直接编写SQL语句。本文将深入探讨如何模仿Hibernate生成SQL语句,以及如何利用Java反射技术来...

    hibernate将本地SQL查询结果封装成对象

    首先,本地SQL查询(Native SQL)是指直接在Hibernate中使用原生的SQL语句进行查询,而不是使用HQL(Hibernate Query Language)。这允许开发者充分利用SQL的功能,比如进行复杂的统计计算或者处理特定数据库的特性...

    SQL查询二进制内容

    本篇将基于提供的文件信息——“SQL查询二进制内容”来深入探讨如何使用SQL语法来查询二进制字段存储的内容。 ### SQL查询二进制内容 #### 一、理解二进制字段 在数据库中,二进制字段是用来存储二进制数据的特殊...

    .net操作mssql数据库,不写sql语句版

    在.NET开发中,与Microsoft SQL Server (MSSQL) 数据库进行交互时,通常有两种主要方式:一是使用SQL语句直接执行查询和操作,二是利用ORM(Object-Relational Mapping)框架,如Entity Framework,实现无需编写SQL...

    快速掌握Sql语句的学习

    ### 快速掌握SQL语句的学习 #### 一、引言与基础命令 SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。本篇将基于提供的文件内容介绍一些基本的SQL命令及其应用。 **1. SQL 命令关键字** ...

    SQL查询语句对象化的实现.doc

    这种封装方式使得开发者能够以面向对象的方式来组织和管理查询逻辑,减少了直接编写SQL语句的复杂性,并且有助于代码的重用和维护。 #### 三、SQL查询语句的主要组成 SQL查询语句主要由以下几个部分组成: 1. **...

    数据库中sql语句的课件

    【SQL语句详解】 SQL(Structured Query Language),结构化查询语言,是用于管理和处理数据库的标准语言。本课件深入浅出地介绍了SQL的基础知识,包括数据的增删改查(CRUD)操作以及数据库表的定义和结构修改。 ...

Global site tag (gtag.js) - Google Analytics