簡體   English   中英

相同查詢但具有可變列的不同結果映射-MyBatis 3

[英]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.

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