当前位置: 首页 > news >正文

Incorrect column count: expected 1, actual 5,JdbcTemplate queryForList 出错

spring JdbcTemplate  queryForList 出错

Incorrect column count: expected 1, actual 5

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

©Copyright 蕃薯耀 2017年7月10日

http://www.cnblogs.com/fanshuyao/

 

一、问题描述:

 

查询时使用JdbcTemplate 中的queryForList发生错误,如下:

 

查询方法如下:

Java代码   收藏代码
  1. jdbcTemplate.queryForList(selectSql.toString(), entityClass)  

 

查询sql如下:

Sql代码   收藏代码
  1. select * from test where 1=1 order by create_time desc limit 0,10  

 

错误如下:

Java代码   收藏代码
  1. Incorrect column count: expected 1, actual 5  

 

 

二、解决方案:

1、上面错误的原因是,查询返回的结果列期望为1,但实际返回的是5列,因为test表中有5个字段,故返回5列。而这个方法参数的解释是这样的:

Java代码   收藏代码
  1. Parameters:  
  2. sql SQL query to execute  
  3. elementType the required type of element in the result list (for example, Integer.class)  

 就是第2个参数在网上说只能是简单类型String或Integer。

 

2、使用query查询

Java代码   收藏代码
  1. jdbcTemplate.query(selectSql.toString(), rowMapper)  

 但多了一个参数rowMapper,这个参数需要定义为:

Java代码   收藏代码
  1. @SuppressWarnings("unused")  
  2.     private BeanPropertyRowMapper<T> rowMapper = new BeanPropertyRowMapper<T>(entityClass){    
  3.         @Override    
  4.         protected void initBeanWrapper(BeanWrapper bw) {    
  5.             super.initBeanWrapper(bw);    
  6.         }    
  7.     };   

具体的作用就是进入查询结果转换成实体。

 

到这步也就解决问题了。

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

©Copyright 蕃薯耀 2017年7月10日

http://www.cnblogs.com/fanshuyao/

转载于:https://www.cnblogs.com/fanshuyao/p/7147309.html

相关文章:

  • Hadoop之——HBASE结合MapReduce批量导入数据
  • linux 修改服务器系统时间
  • checkbox 和 selected 混淆
  • extract-text-webpack-plugin
  • 转 docker 部署 kafka
  • RobotFrameWork Ride简单使用及快捷键
  • 3.saltstack-更换master端服务器
  • Maven生成可以直接运行的jar包的方式
  • 随时修改添加,thinkphp小知识
  • 学习ES6 变量的解构赋值
  • 怎样在网站中实现统计访问量的功能
  • cmd批处理常用符号详解
  • Vue 2.3、2.4 知识点小结
  • Servlet---请求封装器
  • powershell 远程重启/关闭服务器
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • iOS 系统授权开发
  • JavaScript 基础知识 - 入门篇(一)
  • LeetCode算法系列_0891_子序列宽度之和
  • MobX
  • PhantomJS 安装
  • Python学习之路13-记分
  • Redis 中的布隆过滤器
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 精彩代码 vue.js
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 前端面试题总结
  • 实现简单的正则表达式引擎
  • 小而合理的前端理论:rscss和rsjs
  •  一套莫尔斯电报听写、翻译系统
  • 用Python写一份独特的元宵节祝福
  • 最近的计划
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​一些不规范的GTID使用场景
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (2020)Java后端开发----(面试题和笔试题)
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (排序详解之 堆排序)
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (一)SpringBoot3---尚硅谷总结
  • (转) RFS+AutoItLibrary测试web对话框
  • .NET应用架构设计:原则、模式与实践 目录预览
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • /etc/fstab和/etc/mtab的区别
  • [《百万宝贝》观后]To be or not to be?
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [BZOJ2850]巧克力王国
  • [BZOJ4010]菜肴制作
  • [EFI]DELL XPS13 9360电脑 Hackintosh 黑苹果efi引导文件