All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.yulichang.base.JoinService Maven / Gradle / Ivy

There is a newer version: 1.5.2
Show newest version
package com.github.yulichang.base;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.github.yulichang.interfaces.MPJBaseJoin;

import java.util.List;
import java.util.Map;

@SuppressWarnings({"unchecked", "unused"})
public interface JoinService {

    BaseMapper getBaseMapper();

    /**
     * 根据 Wrapper 条件,连表删除
     *
     * @param wrapper joinWrapper
     */
    default boolean deleteJoin(MPJBaseJoin wrapper) {
        return SqlHelper.retBool(((JoinMapper) getBaseMapper()).deleteJoin(wrapper));
    }

    /**
     * 根据 whereEntity 条件,更新记录
     *
     * @param entity  实体对象 (set 条件值,可以为 null)
     * @param wrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
     */
    default boolean updateJoin(T entity, MPJBaseJoin wrapper) {
        return SqlHelper.retBool(((JoinMapper) getBaseMapper()).updateJoin(entity, wrapper));
    }

    /**
     * 根据 whereEntity 条件,更新记录 (null字段也会更新 !!!)
     *
     * @param entity  实体对象 (set 条件值,可以为 null)
     * @param wrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
     */
    default boolean updateJoinAndNull(T entity, MPJBaseJoin wrapper) {
        return SqlHelper.retBool(((JoinMapper) getBaseMapper()).updateJoinAndNull(entity, wrapper));
    }

    /**
     * 根据 Wrapper 条件,查询总记录数
     */
    default Long selectJoinCount(MPJBaseJoin wrapper) {
        return ((JoinMapper) getBaseMapper()).selectJoinCount(wrapper);
    }

    /**
     * 连接查询返回一条记录
     */
    default  DTO selectJoinOne(Class clazz, MPJBaseJoin wrapper) {
        return ((JoinMapper) getBaseMapper()).selectJoinOne(clazz, wrapper);
    }

    /**
     * 连接查询返回集合
     */
    default  List selectJoinList(Class clazz, MPJBaseJoin wrapper) {
        return ((JoinMapper) getBaseMapper()).selectJoinList(clazz, wrapper);
    }

    /**
     * 连接查询返回集合并分页
     */
    default > P selectJoinListPage(P page, Class clazz, MPJBaseJoin wrapper) {
        return ((JoinMapper) getBaseMapper()).selectJoinPage(page, clazz, wrapper);
    }

    /**
     * 连接查询返回Map
     */
    default Map selectJoinMap(MPJBaseJoin wrapper) {
        return ((JoinMapper) getBaseMapper()).selectJoinMap(wrapper);
    }

    /**
     * 连接查询返回Map集合
     */
    default List> selectJoinMaps(MPJBaseJoin wrapper) {
        return ((JoinMapper) getBaseMapper()).selectJoinMaps(wrapper);
    }

    /**
     * 连接查询返回Map集合并分页
     */
    default 

>> P selectJoinMapsPage(P page, MPJBaseJoin wrapper) { return ((JoinMapper) getBaseMapper()).selectJoinMapsPage(page, wrapper); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy