Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在MyBatis中对两个不同的resultMaps重复使用相同的SELECT查询?_Java_Spring_Mybatis - Fatal编程技术网

Java 如何在MyBatis中对两个不同的resultMaps重复使用相同的SELECT查询?

Java 如何在MyBatis中对两个不同的resultMaps重复使用相同的SELECT查询?,java,spring,mybatis,Java,Spring,Mybatis,我有一个mapper resultMap,其中有两个集合需要内联选择 这两个集合的查询完全相同,但生成的映射彼此非常不同。有没有一种方法可以将同一个选择与两个不同的结果映射一起使用 我必须内联运行这些查询,因为如果它是主查询的一部分,由于左连接,它将导致额外的几千条记录 我不能使用SQL,因为它只允许静态参数解析,而不允许动态参数解析 有没有一种方法可以将同一个选择与两个不同的结果映射一起使用 是的,您可以将相同的选择用于两个不同的结果贴图,如下所示 选择名字、姓氏等其他属性。。。 从桌子上 f

我有一个mapper resultMap,其中有两个集合需要内联选择

这两个集合的查询完全相同,但生成的映射彼此非常不同。有没有一种方法可以将同一个选择与两个不同的结果映射一起使用

我必须内联运行这些查询,因为如果它是主查询的一部分,由于左连接,它将导致额外的几千条记录

我不能使用SQL,因为它只允许静态参数解析,而不允许动态参数解析

有没有一种方法可以将同一个选择与两个不同的结果映射一起使用

是的,您可以将相同的选择用于两个不同的结果贴图,如下所示

选择名字、姓氏等其他属性。。。 从桌子上 first_name={searchParams.firstName} last_name={searchParams.lastName} getAsType1SearchParams搜索参数-> getAsType2SearchParams搜索参数-> ... ... 不用担心where和and子句,MyBatis会的

您的Java代码可能如下所示:

包com.example; 导入org.apache.ibatis.annotations.Param; 导入org.springframework.stereotype.Repository; //其他进口 @存储库 公共接口PersonRepository{ 公开名单getAsType1@ParamsearchParamsSearchParams SearchParams; 公开名单getAsType2@ParamsearchParamsSearchParams SearchParams; } SearchParams只是一个带有firstName、lastName等的POJO

有没有一种方法可以将同一个选择与两个不同的结果映射一起使用

是的,您可以将相同的选择用于两个不同的结果贴图,如下所示

选择名字、姓氏等其他属性。。。 从桌子上 first_name={searchParams.firstName} last_name={searchParams.lastName} getAsType1SearchParams搜索参数-> getAsType2SearchParams搜索参数-> ... ... 不用担心where和and子句,MyBatis会的

您的Java代码可能如下所示:

包com.example; 导入org.apache.ibatis.annotations.Param; 导入org.springframework.stereotype.Repository; //其他进口 @存储库 公共接口PersonRepository{ 公开名单getAsType1@ParamsearchParamsSearchParams SearchParams; 公开名单getAsType2@ParamsearchParamsSearchParams SearchParams; }
SearchParams只是一个带有名字、姓氏等的POJO。

啊,太完美了。因此,它的工作原理与常规查询参数映射类似。非常感谢您的指导,非常完美。因此,它的工作原理与常规查询参数映射类似。非常感谢您的指导