第一步:maven导入所需依赖包
<dependency>
<groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join</artifactId>
<version>1.2.4</version>
</dependency>
第二步:Mapper接口继承父类MPJBaseMapper<T>
@Mapper
public interface CemPsiUseMapper extends MPJBaseMapper<CemPsiUse> {
}
第三步:注入Mapper接口
@Autowired
private CemPsiUseMapper cemPsiUseMapper;
第四步:实例化条件构造器并可自定义设置搜索条件
MPJQueryWrapper<CemPsiUse> cemPsiUseMPJQueryWrapper = new MPJQueryWrapper<>();
cemPsiUseMPJQueryWrapper.selectAll(CemPsiUse.class);
cemPsiUseMPJQueryWrapper.select("t1.maintain_name");
cemPsiUseMPJQueryWrapper.leftJoin("cem_place_maintains t1 on t.maintian_id = t1.id");
if(articleName!=null&& !articleName.equals("")){
cemPsiUseMPJQueryWrapper.like("t.article_name",articleName);
}
selectAll()方法为查询主表所有的字段,默认表别名为t
select()为查询其他表指定的字段,t1为表别名,select策略为追加,可以查询多个表数据, 一个select方法只能查询一个表的数据
leftjoin()方法为左连接
第五步:使用自动注入的Mapper接口方法进行查询或分页查询(这里使用分页)
Page<CemPsiUseParamVo> page = new Page<>(pageNo, pageSize);
IPage<CemPsiUseParamVo> pageList = cemPsiUseMapper.selectJoinPage(page,CemPsiUseParamVo.class, cemPsiUseMPJQueryWrapper);
CemPsiUseParamVo为最终查询结果映射实体类,因为是多表查询,所以某一个表的映射实体类不能包含所有字段
第六步:设置映射实体类
这一步即为将所需所有字段总结在一个实体类里。
相关文章
暂无评论...