mybatis查詢數(shù)據(jù)賦值到model里面為空的解決
查詢數(shù)據(jù)賦值到model里為空
因?yàn)閿?shù)據(jù)多所以在查詢中使用分頁(yè),但是發(fā)現(xiàn)直接執(zhí)行sql語(yǔ)句是可以獲取到數(shù)據(jù),而list里面卻是空的
<select id="list" resultType="DaliyDO">
? ? ? ? select a1.* from (
? ? ? ? ? ? select
? ? ? ? ? ? ? ? id ,rownum
? ? ? ? ? ? from dual?
? ? ? ? ? ? <where>
? ? ? ? ? ? ? ? <if test="id != null and id != ''"> and id = #{id} </if>
? ? ? ? ? ? </where>
? ? ? ? ? ? <choose>
? ? ? ? ? ? ? ? <otherwise>
? ? ? ? ? ? ? ? ? ? order by id desc
? ? ? ? ? ? ? ? </otherwise>
? ? ? ? ? ? </choose>
? ? ? ? ? ? ) a1
? ? ? ? <if test="offset != null and limit != null">
? ? ? ? ? ? where rownum between #{offset} and #{offset}+#{limit}
? ? ? ? </if>
? ? </select>原因是 resultType屬性與model不對(duì)應(yīng)。
我們使用分頁(yè)會(huì)在查詢值加入一個(gè)rownum的值,這個(gè)值在我們建立model的時(shí)候是沒有的,所以只要在model里面加上rownum這個(gè)屬性就可以。
當(dāng)然你也可以使用別的分頁(yè)方法
查詢無(wú)數(shù)據(jù)的時(shí)候問題
1.如果返回值是List、Map這種集合類,會(huì)先執(zhí)行new語(yǔ)句,再賦值。所以判斷是否有數(shù)據(jù)時(shí),只能用size==0來判斷。
2.如果是普通的對(duì)象,不會(huì)new,所以可以使用是否為null來判斷是否有數(shù)據(jù)。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Java實(shí)現(xiàn)接口攔截器來監(jiān)控接口的執(zhí)行情況
在排查問題的時(shí)候,由于沒有對(duì)接口的執(zhí)行情況,以及入?yún)⑦M(jìn)行監(jiān)控,所以排查起問題就特別費(fèi)勁,今天我們就一起來寫一個(gè)接口的攔截器來監(jiān)控接口的執(zhí)行情況吧2024-01-01
EL表達(dá)式簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
EL全名為Expression Language,這篇文章主要給大家介紹EL表達(dá)式的主要作用及內(nèi)容簡(jiǎn)介,感興趣的朋友一起看看2017-07-07
Spring @Configuration和@Component的區(qū)別
今天小編就為大家分享一篇關(guān)于Spring @Configuration和@Component的區(qū)別,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12
Springcloud基于OpenFeign實(shí)現(xiàn)服務(wù)調(diào)用代碼實(shí)例
這篇文章主要介紹了Springcloud基于OpenFeign實(shí)現(xiàn)服務(wù)調(diào)用代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
關(guān)于Shiro過濾器配置方式(ShiroFilterFactoryBean)
這篇文章主要介紹了關(guān)于Shiro過濾器配置方式(ShiroFilterFactoryBean),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12

