Mybatis-plus的多表查询

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class MemProfileTrainingVo extends MemTreatmentCaseTerminationTraining implements Serializable {

    private String name;

    private Integer gender;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date birthDate;


    private String currentYearSchool;
    
    private String currentYearClass;
    
}

一个表是全部内容,一个表是一些内容,一对一的关系

@GetMapping(value = "/list/{caseId}")
    public Result<?> queryPageList(MemProfileTrainingVo trainingVo,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req,
                                   @PathVariable(value = "caseId")String caseId
    ) {

        QueryWrapper<MemProfileTrainingVo> queryWrapper = QueryGenerator.initQueryWrapper(trainingVo, req.getParameterMap());
        Page<MemProfileTrainingVo> page = new Page<MemProfileTrainingVo>(pageNo, pageSize);
        IPage<MemProfileTrainingVo> pageList = trainingService.getAll(page, queryWrapper);
        return Result.OK(pageList);
    }

@Service
public class MemTreatmentCaseTerminationTrainingServiceImpl
extends ServiceImpl<MemTreatmentCaseTerminationTrainingMapper , MemTreatmentCaseTerminationTraining>
    implements IMemTreatmentCaseTerminationTrainingService {

    @Autowired
    private MemTreatmentCaseTerminationTrainingMapper trainingMapper;

    @Override
    public IPage<MemProfileTrainingVo> getAll(Page<MemProfileTrainingVo> page, QueryWrapper<MemProfileTrainingVo> queryWrapper) {
        return trainingMapper.findByPage(page,queryWrapper);
    }
}

mapper

public interface MemTreatmentCaseTerminationTrainingMapper extends BaseMapper<MemTreatmentCaseTerminationTraining> {
    IPage<MemProfileTrainingVo> findByPage(Page<MemProfileTrainingVo> page,
                                           @Param(Constants.WRAPPER)QueryWrapper<MemProfileTrainingVo> queryWrapper);
}
<select id="findByPage" resultType="ycz....Vo">
        SELECT
            p.`name`,
            p.`gender`,
            p.`birth_date`,
            p.`current_year_class`,
            p.`current_year_school`,
            tt.*
        FROM `mem_treatment_case_profile` p INNER JOIN `mem_treatment_case_termination_training` tt
                                                    ON p.`id` = tt.`case_id` ${ew.customSqlSegment}
    </select>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值