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