带有 DTO 的 MyBatis 映射器
MyBatis mapper with DTO
是否可以在MyBatis mapper 中使用DTO 对象?
例如,替换方法 findPolicy
的以下永无止境的签名
@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,
// ....
使用简单的 DTO 对象?
@Mapper
public interface PolicyMapper {
List<Policy> findPolicy(@ParametersAutoBinding PolicyFilterDto filter);
)
当然有:
List<Policy> findPolicy(PolicyFilterDto filter);
您可以直接访问 PoliceFilterDto
的属性。
参数有多个时必须命名。
List<Policy> findPolicy(@Param("filter") PolicyFilterDto filter, @Param("another") AnotherDto another);
是否可以在MyBatis mapper 中使用DTO 对象? 例如,替换方法 findPolicy
的以下永无止境的签名@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,
// ....
使用简单的 DTO 对象?
@Mapper
public interface PolicyMapper {
List<Policy> findPolicy(@ParametersAutoBinding PolicyFilterDto filter);
)
当然有:
List<Policy> findPolicy(PolicyFilterDto filter);
您可以直接访问 PoliceFilterDto
的属性。
参数有多个时必须命名。
List<Policy> findPolicy(@Param("filter") PolicyFilterDto filter, @Param("another") AnotherDto another);