<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          記錄后臺(tái)遇到的兩個(gè)小問(wèn)題

          共 1054字,需瀏覽 3分鐘

           ·

          2022-05-28 17:46

          作者:weiewiyi

          來(lái)源:SegmentFault  思否社區(qū) 


          specification查詢(xún)不起作用



          寫(xiě)后臺(tái)的時(shí)候需要加一個(gè)specification查詢(xún),只返回屬于該社區(qū)的數(shù)據(jù)。



          于是我增加了如圖紅框中的查詢(xún),調(diào)用了and函數(shù)。


          specification.and(VehicleSpecs.belongToCommunity(district.getId()));


          但是執(zhí)行后發(fā)現(xiàn),這條查詢(xún)沒(méi)有按照想法獲取到查詢(xún)到數(shù)據(jù),相當(dāng)于這條查詢(xún)并沒(méi)有作用在打斷點(diǎn)之后,發(fā)現(xiàn)確實(shí)進(jìn)入了查詢(xún)函數(shù)里


          測(cè)試了很多遍還是如此,這條查詢(xún)語(yǔ)句并沒(méi)有起作用。


          后來(lái)查谷歌之后發(fā)現(xiàn)有人和我遇到同樣的問(wèn)題。


          解決方法很簡(jiǎn)單:


          讓specification等于and函數(shù)返回值



          也就是這樣:


          specification = specification.and(VehicleSpecs.belongToCommunity(district.getId()));


          然后回過(guò)頭看and函數(shù)的聲明才發(fā)現(xiàn):


          返回的是一個(gè)Specification類(lèi)型的數(shù)據(jù)。也就是說(shuō),我并沒(méi)有保存這個(gè)數(shù)據(jù),所以查詢(xún)失效了。


          應(yīng)該重新給本地變量賦值。這樣才能使查詢(xún)真正添加上去。



          之后回過(guò)頭來(lái)想想,我沒(méi)有想到重新賦值的原因,可能是習(xí)慣了下圖中的方式,即調(diào)用了函數(shù),就真正地把數(shù)據(jù)添加了進(jìn)去,不用再去重新賦值。



          總結(jié)來(lái)說(shuō)還是需要真正看函數(shù)的聲明,查看它的返回值,以確定是否需要執(zhí)行相關(guān)的操作。因?yàn)檫@個(gè)函數(shù)的用法和返回值都寫(xiě)在了聲明中。


          單元測(cè)試數(shù)據(jù)不一致



          在單元測(cè)試中,第187行發(fā)生的錯(cuò)誤。


          MockMvc返回的值與期望的值不一致



          但是去控制臺(tái)一看:值是相同的。期望值是0,實(shí)際值也是0。這就很奇怪了,期望值和實(shí)際值相同,為什么兩者沒(méi)有通過(guò)判斷呢。



          很容易聯(lián)系到是類(lèi)型出了問(wèn)題。


          測(cè)試發(fā)現(xiàn),Long,Integer, String, 都通過(guò)了。沒(méi)通過(guò)的是Short類(lèi)型的數(shù)據(jù),即紅框中的數(shù)據(jù)。



          后來(lái)在后面加上 .toString()能正常通過(guò)。



          這里mvc的json類(lèi)型的數(shù)據(jù)是string類(lèi)型, 與short類(lèi)型數(shù)據(jù)判斷的時(shí)候失敗了,可能是兩者不能正常識(shí)別。




          點(diǎn)擊左下角閱讀原文,到 SegmentFault 思否社區(qū) 和文章作者展開(kāi)更多互動(dòng)和交流,掃描下方”二維碼“或在“公眾號(hào)后臺(tái)回復(fù)“ 入群 ”即可加入我們的技術(shù)交流群,收獲更多的技術(shù)文章~

          - END -


          瀏覽 20
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  豆花AV网 | 影音先锋男人的资源网站 | 久操视频在线播放 | www.久久6 | a视频网站|