簡體   English   中英

Mybatis IN查詢中如何直接添加ENUM,不帶參數

[英]how to directly add ENUM in Mybatis IN query ,with no params

我必須直接在 where 條件下檢查 ENUM,

 <if test="params.fileTypes != null and !params.fileTypes.isEmpty()">
        AND
        RTRIM(INTH.IF_FILETYPE) IN
        <foreach item="item" index="index"
            collection="params.fileTypes" open="(" separator="," close=")">
            #{item}
        </foreach>
   </if>
   <if test="params.fileTypes.isEmpty()">
        AND
        RTRIM(IF_FILETYPE) IN (#{@com.xyz.wealth.appconfiguration.domain.FileType})
   </if>        

假設com.xyz.wealth.appconfiguration.domain.FileType是您所指的枚舉,它有兩個值。 例如

public enum FileType {
  DOCUMENT,
  IMAGE
}

下面的 MyBatis 語句...

RTRIM(IF_FILETYPE) IN (
<foreach item="x" separator=","
    collection="@om.xyz.wealth.appconfiguration.domain.FileType@values()">
  #{x}
</foreach>
)

... 被翻譯成下面的 SQL,枚舉值DOCUMENTIMAGE分別作為字符串綁定到占位符。

RTRIM(IF_FILETYPE) IN (?, ?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM