最近在项目中使用jdbctemplate的queryForList()方法查询时发现在view层获取返回的json格式数据时顺序是乱的,而在数据库中单独执行对应的查询sql却是排好序的。
开始以为是fastjson转换时导致的,后来跟踪发现在queryForList返回的List里面就已经是乱序的了。尝试过用RowMapper以及linkedList对结果集重新进行封装,发现还是不行。
最后终于找到原因了,原来是传参数的方式导致的(拼接后sql里面的排序字段有引号导致排序不正常)。
之前对sql语句中的排序字段及顺序采用问号方式传参,比如:
queryForList("select a,b,c from t where d=? order by ? ?",new Object[]{1,"a","asc"});
后来改成把order by 后面的参数直接在sql中拼好再调用就好了,比如:
queryForList("select a,b,c from t where d=? order by "+para1+"+" para2",new Object[]{1});
para1、para2为调用方法时传入的排序字段明和顺序的变参。
分享到:
相关推荐
strut2+spring+springjdbctemplate做的简易登录系统
Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,...
Spring JdbcTemplate调用Oracle存储过程输出游标结果集实现增删改查
使用Spring的JdbcTemplate实现分页功能
Spring JDBCTemplate连接池jar包
一个非常简单基于注解的Spring JdbcTemplate,供初学者参考用。
模仿spring jdbcTemplate的粗略实现,只有很小的参考价值,如果是java初学者可以使用这个封装好的工具进行数据库操作,只需要在db.properties里配置好driver,url等信息
SpringJdbcTemplate封装工具包,包括规范model格式接口,封装SpringJdbcTemplate,实现分页,自适应多种数据库
spring-jdbcTemplate实例工程
Spring JdbcTemplate的操作,包括接口,BaseDao,log4J配置文件,主要为oracle数据库操作,很多特殊方法只对oracle有效
使用Spring的JdbcTemplate调用Oracle的存储过程
JdbcTemplate api 下载 Spring
简单介绍如何使用Spring Boot使用JdbcTemplate与MySQL进行数据库操作
SSH笔记-Spring JdbcTemplate,使用JdbcTemplate对数据库进行操作,使用具名参数和JDBC模板,简化操作
spring JdbcTemplate query方法使用示例,欢迎下载借鉴
spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。
1.Spring4前 spring-jdbc包是独立的,4以后spring-jdbc 就已经没有了
Spring-JdbcTemplate
spring jdbctemplate组件的简单实例。可以直接运行该实例来学习spring的jdbctemplate。处于初学者,或开发互联网性能要求较高的比较有料。
运用Spring中关于JDBC的一个辅助类(JDBC Template),进行curd操作