java中jdbcTemplate的queryForList(坑)
jdbcTemplate 中的queryForList,你真的懂嗎?
你想象中的queryForList是不是應(yīng)該長(zhǎng)成下面這種模樣?
String sql = "select * from person"; List<Person> persons = jdbcTemplate.queryForList(sql, Person.class);
然后,你很激動(dòng)的點(diǎn)了run
程序跑出來一個(gè),你做夢(mèng)都想不到的東西,不是list嗎?為什么expected是1?
我總共7條數(shù)據(jù)啊,為什么actual 4?
我還小,為什么沒要讓我經(jīng)歷這些?
真相只有一個(gè):
傳了對(duì)應(yīng)class的,創(chuàng)建的是singleColumnRowMapper,也就是只取一列的值,再看看文檔注釋
你一看就是用多了ORM框架吧,這玩意不支持自定義bean勒,這個(gè)class也只是支持Integer,String這些基本類型
現(xiàn)在明白except 1,actual 4 是啥意思了吧?
人家期望返回的是一列,但是你返回的了4列,還沒明白? 那我舉個(gè)例子
String sql = "select id from person"; List<Integer> ids = jdbcTemplate.queryForList(sql, Integer.class);
返回id這一列,就可以用queryForList 這個(gè)list是所有id的集合
到此這篇關(guān)于java中jdbcTemplate的queryForList(坑)的文章就介紹到這了,更多相關(guān)jdbcTemplate queryForList內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何解決Spring in action @valid驗(yàn)證不生效的問題
這篇文章主要介紹了如何解決Spring in action @valid驗(yàn)證不生效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06解決jasperreport導(dǎo)出的pdf每頁(yè)顯示的記錄太少問題
這篇文章主要介紹了解決jasperreport導(dǎo)出的pdf每頁(yè)顯示的記錄太少問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06Java獲取項(xiàng)目路徑方式System.getProperty(“user.dir“)
這篇文章主要介紹了Java獲取項(xiàng)目路徑方式System.getProperty(“user.dir“),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12三分鐘讀懂mybatis中resultMap和resultType區(qū)別
這篇文章主要給大家介紹了mybatis中resultMap和resultType區(qū)別的相關(guān)資料,resultType和resultMap都是mybatis進(jìn)行數(shù)據(jù)庫(kù)連接操作處理返回結(jié)果的,需要的朋友可以參考下2023-07-07SpringBoot實(shí)現(xiàn)文件下載的限速功能
在SpringBoot項(xiàng)目中,實(shí)現(xiàn)文件下載的限速功能可以有效控制服務(wù)器帶寬的占用,并防止單個(gè)用戶消耗過多的資源,本文將通過具體的代碼示例和詳細(xì)的流程解釋,介紹如何在SpringBoot項(xiàng)目中實(shí)現(xiàn)文件下載的限速功能,需要的朋友可以參考下2024-07-07Java實(shí)現(xiàn)拖拽列表項(xiàng)的排序功能
這篇文章主要介紹了Java實(shí)現(xiàn)拖拽列表項(xiàng)的排序功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02