用Spring jdbctemplate做排序的时候出现查出数据顺序与数据库不一致的现象,求解
有遇到同样问题的吗??
下面是主要代码:
@Repository("cbaDao")
public class CBADaoImpl extends JdbcDaoSupport implements ICBADao {
private static final String QUERYPARSEINFO = " select * from parse_XXX order by ? ? ";
@SuppressWarnings("unchecked")
public List<Parse> queryParseList(String g,String j)//g=排序字段 //f=asc
{
return getJdbcTemplate().query(QUERYPARSEINFO,new Object[]{g,f} new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum)
throws
SQLException {
Parse parse=new Parse();
parse.setq(rs.getString("q"));
parse.setw(rs.getString("w"));
parse.sete(rs.getString("e"));
parse.setr(rs.getString("r"));
parse.sett(rs.getInt("t"));
parse.sety(rs.getInt("y"));
parse.setu(rs.getString("u"));
parse.seti(rs.getString("i"));
parse.seto(rs.getString("o"));
parse.setp(rs.getString("p"));
return parse;
}
});
}
}
数据库排序字段后结果是 :
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
走程序显示到页面后的结果是:
1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3
1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3
1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3
。。。。。。。。。。
排除页面问题和其它问题,自己将问题定位在spring框架的数据封装的某个环节(列如:RowMapper)
求解。。。。求高手路过。。。。只有高手能解决。。。。。
------解决方案--------------------高手在哪里,急死了。。。。
------解决方案--------------------两者区别很明显,只是没有分组的问题
private static final String QUERYPARSEINFO = " select * from parse_XXX order by ? ? ";
把sql加上group by 就行了
------解决方案--------------------字段“q”为ID字段(不重复),其它字段可以重复,我是要找出所有记录并按“g”来排序,楼上的那样来个group by结果就去掉了字段“g”的重复数据了,所以是不行的。
谢谢回复
------解决方案--------------------getJdbcTemplate().query(QUERYPARSEINFO,new Object[]{g,f} new RowMapper()
你这是按照g和f同时排序,并不只是按照g来排序
------解决方案--------------------