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

com.github.yulichang.base.MPJBaseMapper 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.core.toolkit.Constants;
import com.github.yulichang.interfaces.MPJBaseJoin;
import com.github.yulichang.toolkit.Constant;
import org.apache.ibatis.annotations.Param;

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

/**
 * @author yulichang
 * @see BaseMapper
 */
public interface MPJBaseMapper extends BaseMapper {

    /**
     * 根据 Wrapper 条件,连表删除
     *
     * @param wrapper joinWrapper
     */
    int deleteJoin(@Param(Constants.WRAPPER) MPJBaseJoin wrapper);

    /**
     * 根据 whereEntity 条件,更新记录
     *
     * @param entity  实体对象 (set 条件值,可以为 null)
     * @param wrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
     */
    int updateJoin(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) MPJBaseJoin wrapper);

    /**
     * 根据 whereEntity 条件,更新记录 (null字段也会更新 !!!)
     *
     * @param entity  实体对象 (set 条件值,可以为 null)
     * @param wrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
     */
    int updateJoinAndNull(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) MPJBaseJoin wrapper);

    /**
     * 根据 Wrapper 条件,查询总记录数
     *
     * @param wrapper joinWrapper
     */
    Long selectJoinCount(@Param(Constants.WRAPPER) MPJBaseJoin wrapper);

    /**
     * 连表查询返回一条记录
     *
     * @param wrapper joinWrapper
     * @param clazz   resultType
     */
     DTO selectJoinOne(@Param(Constant.CLAZZ) Class clazz,
                            @Param(Constants.WRAPPER) MPJBaseJoin wrapper);

    /**
     * 连表查询返回Map
     *
     * @param wrapper joinWrapper
     */
    Map selectJoinMap(@Param(Constants.WRAPPER) MPJBaseJoin wrapper);

    /**
     * 连表查询返回记录集合
     *
     * @param wrapper joinWrapper
     * @param clazz   resultType
     */
     List selectJoinList(@Param(Constant.CLAZZ) Class clazz,
                                   @Param(Constants.WRAPPER) MPJBaseJoin wrapper);

    /**
     * 连表查询返回Map集合
     *
     * @param wrapper joinWrapper
     */
    List> selectJoinMaps(@Param(Constants.WRAPPER) MPJBaseJoin wrapper);

    /**
     * 连表查询返回记录集合并分页
     *
     * @param wrapper joinWrapper
     * @param clazz   resultType
     * @param    分页返回对象
     */
    > P selectJoinPage(P page,
                                                 @Param(Constant.CLAZZ) Class clazz,
                                                 @Param(Constants.WRAPPER) MPJBaseJoin wrapper);

    /**
     * 连表查询返回Map集合并分页
     *
     * @param wrapper joinWrapper
     */
    

>> P selectJoinMapsPage(P page, @Param(Constants.WRAPPER) MPJBaseJoin wrapper); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy