mybatis的多代表查询 两表 left join on

controller

/**
     *
     *张子辉  4
     */

    @GetMapping("/queryAllPatientS")
    public PageList<PatientRegisterDomain> queryAllPatientS(String name,String idCard,String callTime,String firstaidStatus,String createTime,int pageCurrent, int pageSize,String statu,Integer carId,String orgName){
          
   

        if ("1".equals(statu)) {
          
   
            return patientRegisterImpl.queryAllpatient(name,idCard,callTime,firstaidStatus,createTime,pageCurrent,pageSize,carId,orgName);
        } else if ("2".equals(statu)) {
          
   
            return patientRegisterImpl.queryAllPatientsBycodes(name,idCard,callTime,firstaidStatus,createTime,pageCurrent,pageSize,carId,orgName);
        }else if (orgName!=null){
          
   
            return patientRegisterImpl.queryAllHisptoals(name,idCard,callTime,firstaidStatus,createTime,pageCurrent,pageSize,carId,orgName);
        }
        return patientRegisterImpl.queryAllpatient(name,idCard,callTime,firstaidStatus,createTime,pageCurrent,pageSize,carId,orgName);
    }

service

PageList<PatientRegisterDomain> queryAllPatientsBycodes(String name, String idCard, String callTime, String firstaidStatus, String createTime, int pageCurrent, int pageSize,Integer carId,String orgName);

service impl

@Override
    public PageList<PatientRegisterDomain> queryAllHisptoals(String name, String idCard, String callTime, String firstaidStatus, String createTime, int pageCurrent, int pageSize, Integer carId, String orgName) {
          
   
        PageHelper.startPage(pageCurrent, pageSize);
        List<PatientRegisterDomain> all =  patientRegisterDao.queryAllHisptoals(name,idCard,callTime,firstaidStatus,createTime,pageCurrent,pageSize,carId,orgName);
        PageInfo<PatientRegisterDomain> pageInfo = new PageInfo<>(all);

        PageList pageList = new PageList(pageInfo.getTotal(), pageInfo.getList());
        return pageList;
    }

dao

@Override
    public PageList<PatientRegisterDomain> queryAllHisptoals(String name, String idCard, String callTime, String firstaidStatus, String createTime, int pageCurrent, int pageSize, Integer carId, String orgName) {
          
   
        PageHelper.startPage(pageCurrent, pageSize);
        List<PatientRegisterDomain> all =  patientRegisterDao.queryAllHisptoals(name,idCard,callTime,firstaidStatus,createTime,pageCurrent,pageSize,carId,orgName);
        PageInfo<PatientRegisterDomain> pageInfo = new PageInfo<>(all);

        PageList pageList = new PageList(pageInfo.getTotal(), pageInfo.getList());
        return pageList;
    }

mapper

<select id="queryAllHisptoals" parameterType="string" resultMap="BaseResultMap">
    select
     y.NAME
    from  yqjj_firstaid f
    left join yqjj_patient y
    on  f.ID=y.FIRSTAID_ID

        <where>
            <if test="name != null and name != ">
                NAME = #{
          
   name}
            </if>

            <if test="idCard != null and idCard != ">
                and  ID_CARD = #{
          
   idCard}
            </if>

            <!--<if test="callTime != null and callTime != ">-->
            <!--and  date(CALL_TIME) = date(#{
          
   callTime,jdbcType=TIMESTAMP})-->
            <!--</if>-->

            <if test=" callTime != null  and callTime !=  ">
                and CALL_TIME &gt;= DATE_FORMAT(#{
          
   callTime},%Y-%m-%d 00:00:00)
            </if>
            <if test=" callTime != null and callTime != ">
                and CALL_TIME &lt;=  DATE_FORMAT(#{
          
   callTime},%Y-%m-%d 23:59:59)
            </if>

            <if test="firstaidStatus != null and firstaidStatus != ">
                and  FIRSTAID_STATUS = #{
          
   firstaidStatus}
            </if>

            <if test="carId != null and carId != ">
                and  CAR_ID = #{
          
   carId}
            </if>

            <if test="orgName != null and orgName != ">
                and  f.ORG_NAME = #{
          
   orgName}
            </if>
        </where>

    </select>

结果

经验分享 程序员 微信小程序 职场和发展