在MyBatis映射器中使用DTO对象是否可行? 例如,替换方法findPolicy
的永无止境的签名SELECT id
FROM mytable
WHERE b IN (SELECT b
FROM mytable
GROUP BY b
HAVING COUNT(DISTINCT a) > 1)
使用简单的DTO对象?
@Mapper
public interface PolicyMapper {
List<Policy> findPolicy(
@Param("partnerId") Long partnerId,
@Param("policyNo") Long policyNo,
@Param("policyStatus") Integer policyStatus,
@Param("policyOpenDateFrom") Date policyOpenDateFrom,
@Param("policyOpenDateTo") Date policyOpenDateTo,
@Param("policyFinalDateFrom") Date policyFinalDateFrom,
@Param("policyFinalDateTo") Date policyFinalDateTo,
// ....
答案 0 :(得分:0)
当然有:
List<Policy> findPolicy(PolicyFilterDto filter);
您可以直接访问PoliceFilterDto
的属性。
当有多个参数时,必须命名参数。
List<Policy> findPolicy(@Param("filter") PolicyFilterDto filter, @Param("another") AnotherDto another);