mybatis逆向工程实现条件联表查询

情景

mybatis逆向工程下,利用PutawayExample实现对putaways表的条件查询,但要用的字段在goods表里putaways只有外键gid,例如根据商品类型进行筛选,并不可以直接实现条件查询而需要联表查询。

putaways表

mybatis逆向工程实现条件联表查询_第1张图片

goods表

mybatis逆向工程实现条件联表查询_第2张图片

解决方案

  • Putaway实体内增加字段

// 商品详情
private Good good;

额外添加属性来保存联表查到的goods表信息

  • PutawayExample实体内增添条件函数

    // 自定义
    public Criteria andTypeEqualTo(String value) {
        addCriterion("goods.type =", value, "good.type");
        return (Criteria) this;
    }
    public Criteria andNameLike(String value) {
        addCriterion("goods.name like", value, "good.name");
        return (Criteria) this;
    }
    // 自定义

根据需求来添加对应条件

例如我这里是需要实现根据商品类型筛选和对商品模糊查询后筛选,故增加了这两个字段

为什么要添加?因为type和name都是Good内的属性,PutawayExample并不会拥有

  • PutawayMapper内添加自定义接口函数

    // 联合表条件分页查询
    List selectPutawayGoodByExample(PutawayExample putawayExample);

  • PutawayMapper.xml内添加相关实现

  • 添加自定义ResultMap,用于将查到的字段映射到Putaway实体



    
    
    
    
    
    
    

    
    
    
    

  • 添加自定义sql



成果展示

成功实现联表条件查询

你可能感兴趣的:(个人开发)