Java 使用JdbcTemplate 中的queryForList發(fā)生錯誤解決辦法
Java 使用JdbcTemplate 中的queryForList發(fā)生錯誤解決辦法
在開發(fā)項目中遇到JdbcTemplate 中的queryForList發(fā)生錯誤,很是頭疼,在網(wǎng)上找了相關(guān)資料,可以幫忙解決,這里記錄下,
一、問題描述:
查詢時使用JdbcTemplate 中的queryForList發(fā)生錯誤,如下:
查詢方法如下:
jdbcTemplate.queryForList(selectSql.toString(), entityClass)
查詢sql如下:
select * from test where 1=1 order by create_time desc limit 0,10
錯誤如下:
Incorrect column count: expected 1, actual 5
二、解決方案:
1、上面錯誤的原因是,查詢返回的結(jié)果列期望為1,但實(shí)際返回的是5列,因?yàn)閠est表中有5個字段,故返回5列。而這個方法參數(shù)的解釋是這樣的:
Parameters: sql SQL query to execute elementType the required type of element in the result list (for example, Integer.class)
就是第2個參數(shù)在網(wǎng)上說只能是簡單類型String或Integer。
2、使用query查詢
jdbcTemplate.query(selectSql.toString(), rowMapper)
但多了一個參數(shù)rowMapper,這個參數(shù)需要定義為:
@SuppressWarnings("unused")
private BeanPropertyRowMapper<T> rowMapper = new BeanPropertyRowMapper<T>(entityClass){
@Override
protected void initBeanWrapper(BeanWrapper bw) {
super.initBeanWrapper(bw);
}
};
具體的作用就是進(jìn)入查詢結(jié)果轉(zhuǎn)換成實(shí)體。
到這步也就解決問題了。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- java中jdbcTemplate的queryForList(坑)
- Java Spring5學(xué)習(xí)之JdbcTemplate詳解
- Java連接sqlserver2008數(shù)據(jù)庫代碼
- JAVA使用JDBC技術(shù)操作SqlServer數(shù)據(jù)庫實(shí)例代碼
- 使用java web 在jsp文件及Class中連接MySQL和SQLserver 的驅(qū)動方法
- 用Java連接sqlserver數(shù)據(jù)庫時候幾個jar包的區(qū)別分析
- java sqlserver text 類型字段讀取方法
- Java中String的JdbcTemplate連接SQLServer數(shù)據(jù)庫的方法
相關(guān)文章
SpringBoot2零基礎(chǔ)到精通之profile功能與自定義starter
SpringBoot是一種整合Spring技術(shù)棧的方式(或者說是框架),同時也是簡化Spring的一種快速開發(fā)的腳手架,本篇讓我們一起學(xué)習(xí)profile功能與自定義starter2022-03-03
SpringBoot實(shí)現(xiàn)文件斷點(diǎn)續(xù)傳功能詳解
在處理大文件傳輸或網(wǎng)絡(luò)不穩(wěn)定的情況下,文件斷點(diǎn)續(xù)傳功能顯得尤為重要,本文將詳細(xì)介紹如何使用Spring Boot實(shí)現(xiàn)文件的斷點(diǎn)續(xù)傳功能,需要的可以了解下2025-04-04
Java中Singleton的3種實(shí)現(xiàn)方式詳解
這篇文章主要給大家介紹了關(guān)于Java中Singleton的3種實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
springboot 項目容器啟動后如何自動執(zhí)行指定方法
這篇文章主要介紹了springboot 項目容器啟動后如何自動執(zhí)行指定方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
MyBatis-Plus使用ActiveRecord(AR)實(shí)現(xiàn)CRUD
本文將結(jié)合實(shí)例代碼,介紹MyBatis-Plus使用ActiveRecord(AR)實(shí)現(xiàn)CRUD,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07
SpringBoot?Starter自定義全局加解密組件的詳細(xì)流程
SpringBoot?Starter作用將一組相關(guān)的依賴打包,簡化項目的配置和初始化過程,通過特定的Starter開發(fā)者可以快速的實(shí)現(xiàn)特定功能模塊的開發(fā)和擴(kuò)展,本文給大家介紹了SpringBoot?Starter自定義全局加解密組件的詳細(xì)流程,需要的朋友可以參考下2024-02-02

