MyBatis where標籤的用法

2021-08-08 02:14:32 字數 644 閱讀 8880

場景:在mybatis拼裝動態sql語句中,在where的條件中常常先判斷 if 條件是否成立,再加入 where 的條件部。

例如,查詢滿足條件的學生時,考慮到 if 標籤的條件都不成立的情況,因此在 where 的 條件補加入 1=1 這個永真條件,如果沒有加入1=1,這個語句在執行時是乙個錯誤不能執行的語句。

xml語句**:

select * from student

where 1 = 1

and name = #

and address = #

and nation = #

解決方法:mybatis的 where 標籤可以解決如上所示的例子,經過改寫後的xml語句**:

select * from student

and name = #

and address = #

and nation = #

當where標籤裡面的條件成立之時,sql會自動加入 where 關鍵字,而且如果where標籤內返回的內容是以 and 或者 or 關鍵字開頭的,則開頭的 and 或者 or 會被剔除掉。

帶標籤體的標籤和父標籤的標籤

帶有標籤體的自定義標籤 1 若有乙個標籤體 c1 date sssss c1 date 在自定義標籤的標籤處理器中使用jspfragment物件封裝了標籤體的資訊 若配置了標籤含有標籤體,則jsp會呼叫setjspbody 方法把jspfragment傳遞給標籤處理類。在 tagsupport中還定...

Struts2的標籤 邏輯標籤 IF標籤

struts2的標籤庫中,有乙個出場頻度很高的邏輯標籤 if標籤 其實很簡單,就兩個引數,常用的就乙個 test 但是,要寫乙個合法test表示式,卻是讓我覺得很麻煩的事.經常寫錯 test裡面寫的表示式經常要結合ognl使用的,例如 max s file here scott s file her...

struts s標籤中的s select標籤用法

一 常用結構 這裡列舉幾個常用的屬性吧 1 id 可能要做某些取值操作 2 name 用來作為action中取值的屬性 3 value 用來預設input元素的value屬性 4 list 在後台或者自定義的乙個取值集合 這個是個必填項 5 listkey 標籤的key值,也就是我們後台要獲取到的k...