[英]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,枚舉值DOCUMENT
和IMAGE
分別作為字符串綁定到占位符。
RTRIM(IF_FILETYPE) IN (?, ?)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.