MyBatisPlus的通用查詢,簡直可以丟棄Dao和mapper.xml了


/**
 *
 * @author shenjing
 * @date 2018/6/20
 */
@Service
public class LocalDispatchServiceImpl extends ServiceImpl<Rep_DisPatchDao, Rep_DisPatch> implements LocalDispatchService {
    /**
     * 根據domain組合各種類型的查詢,一般的查詢就可以通過這個完成了,dao完全沒有存在的意義了
     *
     * @param domain
     * @return
     */
    @Override
    public Rep_DisPatch findOneByDomain(Rep_DisPatch domain) {
        EntityWrapper<Rep_DisPatch> eWrapper = new EntityWrapper<>(domain);
        return selectOne(eWrapper);
    }

    /**
     * 根據分頁參數進行查詢
     *
     * @param dispatchPageParam
     * @return
     */
    @Override
    public Page<Rep_DisPatch> findListByPage(DispatchPageParam dispatchPageParam) {
        Page<Rep_DisPatch> page = new Page<>(dispatchPageParam.getPageIndex(), dispatchPageParam.getPageSize());
        EntityWrapper<Rep_DisPatch> eWrapper = new EntityWrapper<>(dispatchPageParam.getObj());
        Page<Rep_DisPatch> ret = selectPage(page, eWrapper);
        return ret;
    }

}

  此處ServiceImpl,是myBatisPlus提供的一個基類。

DispatchPageParam 是自己寫的一個查詢參數的封裝

/**
 * 基礎分頁參數
 * @author shenjing
 * @date 2018/6/20
 */
public class BasePageParam<T> {
    T obj;

    int pageIndex;

    int pageSize;

    public T getObj() {
        return obj;
    }

    public void setObj(T obj) {
        this.obj = obj;
    }

    public int getPageIndex() {
        return pageIndex;
    }

    public void setPageIndex(int pageIndex) {
        this.pageIndex = pageIndex;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
}

  實際上這個里面什么都沒有,只要繼承基類就可以了

/**
 * Created by shenjing on 2018/6/20.
 */
public class DispatchPageParam extends BasePageParam<Rep_DisPatch> {

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM