[英]Different result mappings for the same query but with variable column - MyBatis 3
我需要從同一個查詢中sql“ Where”條件中的不同列獲取不同的Java Pojo結果映射。 Es。
@Select("Select field1,fiel2,...,fieldn From table where #{column}=1")
List<Pojo> getGenericDetails(@Param(column));
Mybatis的“判別器”無法勝任。 誰知道怎么做嗎?
提前致謝
如果要從具有“ SQL Anywhere”條件的不同列的同一查詢中獲得不同的Java Pojo結果映射,我將嘗試以下操作:
@Select("Select field1,fiel2,...,fieldn From table where #{column}=1")
List<Map<String,Object>> getGenericDetails(@Param(column));
結果,映射中的鍵是field1,fiel2,...,fieldn,該值將是field1,fiel2,...,fieldn的結果。
希望以上內容對您有所幫助。
您所編寫的Mapping可以工作,但是可以在相同的POJO上工作。
如果根據where子句中的列需要不同的POJO,則必須為where子句中的每個條件編寫不同的查詢。
這與在query中指定列名一樣好。
因此,我建議您編寫不同的查詢並創建不同的POJO,並使方法名稱與要使用這些查詢的上下文相關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.