mybatis-向sql中添加判斷條件 需求:判斷數據庫中的權限並拼接相關的條件

需求:判斷數據庫中的權限並拼接相關的條件

關鍵字:mybatis <if>標籤 <foreach>標籤 標籤test==判斷 

因爲不熟悉Mybatis的一些用法 昨天花了一下午時間去做這個小小的點,希望我的問題點能夠幫助那些依舊在爲夢想拼搏的人。

已改正確的寫法

這裏有兩個知識點:

1.<if>標籤 test判斷兩個String類型的字段是否相等

可以是<if test=" 傳過來的字段 ==‘固定的字段’.toString"></if>或者<if test='傳過來的字段==“固定的字段”'></if>

參考:https://www.cnblogs.com/westward/p/6910856.html

2.foreach循環

item直接就代表了你循環中list 【10101,10102】中的值,直接取就能夠判斷,如上述中的圖片

這裏說下我的遇到的問題:

第一個想法是將sql後臺拼接進來傳入數值 sql="and sqrlx IS NOT NULL";理想的情況是and sqrlx IS NOT NULL直接拼接到sql條件的的後面,但是會給你自動加兩個''給你sql闊起來傳過去。即'and sqrlx IS NOT NULL' 這時候就發生錯誤了(可以試試將條件''起來)。

第二個想法是xml文件中判斷直接寫and sqrlx IS NOT NULL 這樣應該沒啥問題了,但是foreach循環的時候我記得是要#{item} 然後寫成<if test="#{item}=='10101'.toString"></if>跑起項目一直報錯,後來寫成<if test="item=='10101'.toString"></if>可以了。

總結:還是自己的基礎不紮實 贈予那些掉進坑裏的人。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章