最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis if test判斷BigDecimal遇到的坑及解決

 更新時(shí)間:2023年03月30日 09:30:52   作者:卡卡的喵  
這篇文章主要介紹了mybatis if test判斷BigDecimal遇到的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis if test判斷BigDecimal遇到的坑

    <update id="test" parameterType="cn.test.Demo">
        update test
        <trim prefix="set" suffixOverrides=",">
            <if test="bigDecimalValue != null and bigDecimalValue != ''">
                bigDecimal_value = #{bigDecimalValue},
            </if>
        </trim>
        WHERE
            id = #{id}
    </update>

以上語句變量bigDecimalValue是BigDecimal類型的,傳入的值是0,

但打印出來的語句是

update test ?WHERE id = ??

竟然沒有set變量,導(dǎo)致一直報(bào)sql錯(cuò)誤的異常。

后來才發(fā)現(xiàn),如果要判斷BigDecimal類型是否為空,只要判斷是否為null就可以了,不要判斷是否為空字符串,系統(tǒng)會(huì)自動(dòng)把0當(dāng)成了空字符串。

造成這樣錯(cuò)誤的原因應(yīng)該是復(fù)制了之前的代碼,而之前的代碼是判斷字符類型是否為空。

mybatis if test 報(bào)錯(cuò),無效

除卻.toString能夠?qū)兆址蛿?shù)值操作,來避免類型對比錯(cuò)誤問題外

還可能在語法上報(bào)錯(cuò),

先上圖(這里說SQL格式有問題)

源碼是這樣的

(正常在SQL工具中,“SELECT * FROM `product` where”查詢語句是沒問題的)

但在這里會(huì)報(bào)錯(cuò)。

所以小改一下! 

就解決了!

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

平顺县| 五寨县| 黄平县| 宝丰县| 磐石市| 镇安县| 高要市| 景德镇市| 新蔡县| 霍山县| 勃利县| 黑水县| 通许县| 北流市| 禹州市| 池州市| 南汇区| 陇川县| 瑞金市| 沁阳市| 龙游县| 兰州市| 松滋市| 瑞金市| 永仁县| 崇礼县| 泰州市| 乌鲁木齐市| 北海市| 察雅县| 招远市| 忻城县| 乌拉特中旗| 纳雍县| 祁连县| 分宜县| 长宁区| 连云港市| 大理市| 富平县| 织金县|