package com.qmth.themis.business.base;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.util.Collection;

/**
 * @Description: 自定义mapper
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2022/5/11
 */
public interface CustomBaseMapper<T> extends BaseMapper<T> {

    /**
     * 自定义批量插入
     * 如果要自动填充，@Param(xx) xx参数名必须是 list/collection/array 3个的其中之一
     *
     * @param list
     * @return
     */
    int insertBatch(@Param("collection") Collection<? extends Serializable> list);

    /**
     * 自定义批量更新
     * 如果要自动填充，@Param(xx) xx参数名必须是 list/collection/array 3个的其中之一
     *
     * @param list
     * @return
     */
    int updateBatch(@Param("collection") Collection<? extends Serializable> list);

    /**
     * 自定义批量新增或更新
     * 如果要自动填充，@Param(xx) xx参数名必须是 list/collection/array 3个的其中之一
     *
     * @param list
     * @return
     */
    int insertOrUpdateBath(@Param("collection") Collection<? extends Serializable> list);
}
