繁体   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