亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

淺談mybatis中SQL語句給boolean類型賦值問題

瀏覽:101日期:2023-10-21 14:03:23

我就廢話不多說了,大家還是直接看代碼吧~

<select parameterType='String' resultMap='MenuVoListMap'> SELECT m.menu_id , m.parent_id , m.`name` , 1 opens FROM menu m WHERE m.is_valid = 1 AND (m.type = 0 or m.type = 1) and m.menu_id IN (${menuId})</select>

其中 opens是boolean類型,在這里將他的值賦值為1,即為true

<result property='open' column='opens'/> 這里的opens和上面的opens對應

補充知識:mybatis中當查詢條件有Boolean類型的時候,為false時查詢無效

eg:

<if test='isOk != null and isOk !=’’'> and is_ok = #{isOk} </if>

此時當isOk為false時,并未查詢出is_ok對應的結果來

找原因:

直接到數據庫使用腳本查詢

select * from table

where is_ok = false

此時能查出is_ok為0的數據

select * from table where is_ok = true

此時能查出is_ok為1的數據

此時定位問題是否在

<if test='isOk != null and isOk !=’’'>

通過排查去掉and isOk!=’’,可以正確的查出

所以正確的查詢結構是:

<if test='isOk != null'> and is_ok = #{isOk} </if>

經研究:

mybatis的if判斷里面最好不要使用boolean值:

mybatis會默認把空值轉為false。所以如果遇見前面傳空值,這個字段在mybatis里面永遠就是false了,可以使用數字類型代替,但是不要使用0作為參數。

以上這篇淺談mybatis中SQL語句給boolean類型賦值問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 美女69xxxxxxxx| 这里只有精品视频 | 免费在线观看日韩 | 国产精品偷伦视频免费观看的 | 韩国精品一区二区三区四区五区 | 制服丝袜在线播放 | 国产精品亚洲欧美日韩一区在线 | 国产欧美一区二区三区免费看 | 精精国产xxxx视频在线播放器 | 爱呦视频在线播放网址 | 最新国产一区二区精品久久 | 六月婷婷精品视频在线观看 | 91精品免费观看 | 亚洲精品亚洲人成在线播放 | 亚洲成在人线久久综合 | 中文字幕 亚洲精品 第1页 | 免费午夜不卡毛片 | 国产精品亚洲成在人线 | 污黄视频在线观看 | 久久天天躁狠狠躁夜夜爽蜜月 | 成人做爰全过程免费看视频 | 伊人丁香 | 亚洲国产成人九九综合 | 国产福利午夜自产拍视频在线 | 丁香色婷婷国产精品视频 | 本道久久 | 婷婷激情视频 | 久久dvd| 曰韩在线 | 8x影院在线观看 | 日韩欧美一区二区三区在线观看 | 在线a人片免费观看国产 | 91久久国产露脸国语对白 | 黄色大片在线免费看 | 美女三级黄 | 一本之道无吗一二三区 | 黄色激情视频网站 | 国产视频你懂得 | 日韩中出 | 91久久亚洲国产成人精品性色 | 亚洲国产一级毛片 |