Java 使用JdbcTemplate 中的queryForList發(fā)生錯(cuò)誤解決辦法
Java 使用JdbcTemplate 中的queryForList發(fā)生錯(cuò)誤解決辦法
在開(kāi)發(fā)項(xiàng)目中遇到JdbcTemplate 中的queryForList發(fā)生錯(cuò)誤,很是頭疼,在網(wǎng)上找了相關(guān)資料,可以幫忙解決,這里記錄下,
一、問(wèn)題描述:
查詢時(shí)使用JdbcTemplate 中的queryForList發(fā)生錯(cuò)誤,如下:
查詢方法如下:
jdbcTemplate.queryForList(selectSql.toString(), entityClass)
查詢sql如下:
select * from test where 1=1 order by create_time desc limit 0,10
錯(cuò)誤如下:
Incorrect column count: expected 1, actual 5
二、解決方案:
1、上面錯(cuò)誤的原因是,查詢返回的結(jié)果列期望為1,但實(shí)際返回的是5列,因?yàn)閠est表中有5個(gè)字段,故返回5列。而這個(gè)方法參數(shù)的解釋是這樣的:
Parameters: sql SQL query to execute elementType the required type of element in the result list (for example, Integer.class)
就是第2個(gè)參數(shù)在網(wǎng)上說(shuō)只能是簡(jiǎn)單類型String或Integer。
2、使用query查詢
jdbcTemplate.query(selectSql.toString(), rowMapper)
但多了一個(gè)參數(shù)rowMapper,這個(gè)參數(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í)體。
到這步也就解決問(wèn)題了。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- java中jdbcTemplate的queryForList(坑)
- Java Spring5學(xué)習(xí)之JdbcTemplate詳解
- Java連接sqlserver2008數(shù)據(jù)庫(kù)代碼
- JAVA使用JDBC技術(shù)操作SqlServer數(shù)據(jù)庫(kù)實(shí)例代碼
- 使用java web 在jsp文件及Class中連接MySQL和SQLserver 的驅(qū)動(dòng)方法
- 用Java連接sqlserver數(shù)據(jù)庫(kù)時(shí)候幾個(gè)jar包的區(qū)別分析
- java sqlserver text 類型字段讀取方法
- Java中String的JdbcTemplate連接SQLServer數(shù)據(jù)庫(kù)的方法
相關(guān)文章
springmvc使用@notNull注解驗(yàn)證請(qǐng)求參數(shù)方式
這篇文章主要介紹了springmvc使用@notNull注解驗(yàn)證請(qǐng)求參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教<BR>2024-01-01Eclipse+Java+Swing+Mysql實(shí)現(xiàn)工資管理系統(tǒng)
這篇文章主要介紹了Eclipse+Java+Swing+Mysql實(shí)現(xiàn)工資管理系統(tǒng),對(duì)正在工作或者學(xué)習(xí)的你有一定的參考價(jià)值,需要的朋友可以參考一下2022-01-01java 實(shí)現(xiàn)黃金分割數(shù)的示例詳解
這篇文章主要介紹了java 實(shí)現(xiàn)黃金分割數(shù)的示例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02淺談java switch如果case后面沒(méi)有break,會(huì)出現(xiàn)什么情況?
這篇文章主要介紹了淺談java switch如果case后面沒(méi)有break,會(huì)出現(xiàn)什么情況?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想小編過(guò)來(lái)看看吧2020-09-09JAVA中String介紹及常見(jiàn)面試題小結(jié)
這篇文章主要介紹了JAVA中String介紹及常見(jiàn)面試題,在java面試中經(jīng)常會(huì)被面試官問(wèn)到,小編通過(guò)實(shí)例代碼相結(jié)合給大家詳細(xì)介紹,需要的朋友可以參考下2020-02-02關(guān)于SpringBoot的自動(dòng)裝配原理詳解
這篇文章主要介紹了關(guān)于SpringBoot的自動(dòng)裝配原理詳解,Spring?Boot自動(dòng)裝配原理是指Spring?Boot在啟動(dòng)時(shí)自動(dòng)掃描項(xiàng)目中的依賴關(guān)系,根據(jù)依賴關(guān)系自動(dòng)配置相應(yīng)的Bean,從而簡(jiǎn)化了Spring應(yīng)用的配置過(guò)程,需要的朋友可以參考下2023-07-07Java生成Echarts表圖的2種實(shí)現(xiàn)方案
這篇文章主要給大家介紹了關(guān)于Java生成Echarts表圖的2種實(shí)現(xiàn)方案,ECharts是一款功能非常強(qiáng)大的JavaScript圖表庫(kù),文中通過(guò)代碼實(shí)例介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09SpringBoot+Redis+Lua防止IP重復(fù)防刷攻擊的方法
本文主要介紹了SpringBoot+Redis+Lua防止IP重復(fù)防刷攻擊的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12java 集合并發(fā)操作出現(xiàn)的異常ConcurrentModificationException
Map在遍歷時(shí)候通常 現(xiàn)獲得其鍵值的集合Set,然后用迭代器Iterator來(lái)對(duì)Map進(jìn)行遍歷。2009-06-06