欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis修改int型數(shù)據(jù)無法修改成0的解決

 更新時間:2021年09月01日 15:37:06   作者:KARL的向日葵  
這篇文章主要介紹了mybatis修改int型數(shù)據(jù)無法修改成0的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mybatis修改int型數(shù)據(jù)無法修改成0

今天遇到一個很奇葩的問題,修改user實體里面的一個int型的狀態(tài)量1.2.3........都可以修改成功,唯獨參數(shù)為0時修改不成功,控制臺也沒有報錯,一切正常。項目用的是ssm框架。最后找到問題是出在mybatis的mapper.xml里了。

場景如下

修改status的值,0為禁用,1為啟用。當傳入的值為0時,就會修改失敗。

過程如下

這是mybatis更新語句中的修改狀態(tài)量部分,查閱資料后得知問題出在status='' 這里,如果有這個條件則當參數(shù)為0時判斷結果為false,則不會將0 set進數(shù)據(jù)庫。(折騰了一晚上沒有成功配置log4j打印mybatis解析出的sql語句,這里無法展示sql語句)具體原因還得參考源碼才能找到答案,由于本人能力有限這里還是留給以后的自己和各位大牛查找吧。

解決方法

1.去掉status='' 即<if test="status != null">即可

2.改寫成 <if test="status != -1">

mybatis int類型值為0判空

問題現(xiàn)狀

項目開發(fā)時經(jīng)常遇到status值的判斷情況,status通常設置為int型,根據(jù)不同的status設置不同的條件用于查詢或者編輯。Mybatis中經(jīng)常設置非空作為if的判斷條件,常見書寫為:

<if test="status!=null and status!='' ">
   status = #{status},
<if>

執(zhí)行查詢及編輯當status=0時,查詢結果沒有查出status=0的用戶信息,編輯用戶的狀態(tài)也沒有修改成功,但是后臺顯示傳值正確(后臺打印信息如下所示)。

修改用戶信息

{id=22, username=wangzichun, password=******, email=, telephone=45643, roleId=2, status=0}

問題原因

當status值為0時,Mybatis將作為if條件中的false結果,即不執(zhí)行此if里面的內容,所以當status=0時,if條件中的設置的過濾或者修改字段及字段取值沒有設置成功,導致查詢和編輯status=0時不成功。

解決方法

將status的if條件設置為<if test="status = -1">或者只寫<if test="status !=null">

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

相關文章

  • java實現(xiàn)24點游戲

    java實現(xiàn)24點游戲

    每次取出4張牌,使用加減乘除,第一個能得出24者為贏,這篇文章主要就為大家詳細介紹了java實現(xiàn)24點游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Java多線程解決龜兔賽跑問題詳解

    Java多線程解決龜兔賽跑問題詳解

    這篇文章主要為大家詳細介紹了Java如何使用線程休眠模擬龜兔賽跑比賽問題,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-08-08
  • mybatis新增save結束后自動返回主鍵id詳解

    mybatis新增save結束后自動返回主鍵id詳解

    這篇文章主要介紹了mybatis新增save結束后自動返回主鍵id詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java中創(chuàng)建兩表之間的觸發(fā)器詳解

    java中創(chuàng)建兩表之間的觸發(fā)器詳解

    這篇文章主要介紹了java中創(chuàng)建兩表之間的觸發(fā)器詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-06-06
  • Spring?boot整合jsp和tiles模板示例

    Spring?boot整合jsp和tiles模板示例

    這篇文章主要介紹了Spring?boot整合jsp模板和tiles模板的示例演示過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Java使用HttpClient詳細示例

    Java使用HttpClient詳細示例

    這篇文章介紹了Java使用HttpClient的詳細示例,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • springboot實現(xiàn)公眾號接收回復消息和超過5秒被動回復消息

    springboot實現(xiàn)公眾號接收回復消息和超過5秒被動回復消息

    本文主要介紹了springboot實現(xiàn)公眾號接收回復消息和超過5秒被動回復消息,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • SpringBoot獲取配置文件內容的幾種方式總結

    SpringBoot獲取配置文件內容的幾種方式總結

    大家都知道SpringBoot獲取配置文件的方法有很多,下面這篇文章主要給大家介紹了關于SpringBoot獲取配置文件內容的幾種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • springboot?html調用js無效400問題及解決

    springboot?html調用js無效400問題及解決

    這篇文章主要介紹了springboot?html調用js無效400的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java多線程模擬交通燈管理系統(tǒng)

    java多線程模擬交通燈管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java多線程模擬交通燈管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論