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

程序跑出來一個,你做夢都想不到的東西,不是list嗎?為什么expected是1?
我總共7條數(shù)據(jù)啊,為什么actual 4?
我還小,為什么沒要讓我經(jī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的集合
到此這篇關于java中jdbcTemplate的queryForList(坑)的文章就介紹到這了,更多相關jdbcTemplate queryForList內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
如何解決Spring in action @valid驗證不生效的問題
這篇文章主要介紹了如何解決Spring in action @valid驗證不生效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
解決jasperreport導出的pdf每頁顯示的記錄太少問題
這篇文章主要介紹了解決jasperreport導出的pdf每頁顯示的記錄太少問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
Java獲取項目路徑方式System.getProperty(“user.dir“)
這篇文章主要介紹了Java獲取項目路徑方式System.getProperty(“user.dir“),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
三分鐘讀懂mybatis中resultMap和resultType區(qū)別
這篇文章主要給大家介紹了mybatis中resultMap和resultType區(qū)別的相關資料,resultType和resultMap都是mybatis進行數(shù)據(jù)庫連接操作處理返回結果的,需要的朋友可以參考下2023-07-07

