java中jdbcTemplate的queryForList(坑)
jdbcTemplate 中的queryForList,你真的懂嗎?
你想象中的queryForList是不是應(yīng)該長成下面這種模樣?
String sql = "select * from person"; List<Person> persons = jdbcTemplate.queryForList(sql, Person.class);
然后,你很激動的點了run

程序跑出來一個,你做夢都想不到的東西,不是list嗎?為什么expected是1?
我總共7條數(shù)據(jù)啊,為什么actual 4?
我還小,為什么沒要讓我經(jīng)歷這些?
真相只有一個:

傳了對應(yīng)class的,創(chuàng)建的是singleColumnRowMapper,也就是只取一列的值,再看看文檔注釋

你一看就是用多了ORM框架吧,這玩意不支持自定義bean勒,這個class也只是支持Integer,String這些基本類型
現(xiàn)在明白except 1,actual 4 是啥意思了吧?
人家期望返回的是一列,但是你返回的了4列,還沒明白? 那我舉個例子
String sql = "select id from person"; List<Integer> ids = jdbcTemplate.queryForList(sql, Integer.class);
返回id這一列,就可以用queryForList 這個list是所有id的集合
到此這篇關(guān)于java中jdbcTemplate的queryForList(坑)的文章就介紹到這了,更多相關(guān)jdbcTemplate queryForList內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javaweb Servlet開發(fā)總結(jié)(一)
Servlet是sun公司提供的一門用于開發(fā)動態(tài)web資源的技術(shù)。這篇文章主要介紹了javaweb Servlet開發(fā)的第一篇,感興趣的小伙伴們可以參考一下2016-05-05
springboot 自定義LocaleResolver實現(xiàn)切換語言
我們在做項目的時候,往往有很多項目需要根據(jù)用戶的需要來切換不同的語言,使用國際化就可以輕松解決。這篇文章主要介紹了springboot 自定義LocaleResolver切換語言,需要的朋友可以參考下2019-10-10
SpringBoot簡單使用SpringData的jdbc和durid
今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著SpringBoot簡單使用SpringData的jdbc和durid,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java實現(xiàn)經(jīng)典捕魚達人游戲的示例代碼
《捕魚達人》是一款以深海狩獵為題材的休閑競技游戲。本文將利用Java實現(xiàn)這一經(jīng)典的游戲,文中采用了swing技術(shù)進行了界面化處理,需要的可以參考一下2022-02-02
使用Java構(gòu)造和解析Json數(shù)據(jù)的兩種方法(詳解二)
這篇文章主要介紹了使用Java構(gòu)造和解析Json數(shù)據(jù)的兩種方法(詳解二)的相關(guān)資料,需要的朋友可以參考下2016-03-03
Java形參和實參的實例之Integer類型與Int類型用法說明
這篇文章主要介紹了Java形參和實參的實例之Integer類型與Int類型用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Maven和MyBatis框架簡單實現(xiàn)數(shù)據(jù)庫交互的示例
本文主要介紹了Maven和MyBatis框架簡單實現(xiàn)數(shù)據(jù)庫交互的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01

