package com.kym.mapper.mybatisplus;

import com.github.yulichang.base.MPJBaseMapper;

import java.util.Collection;

/**
 * 自定义mapper 扩展Mybatis-Plus
 *
 * @author skyline
 */
public interface MyBaseMapper<T> extends MPJBaseMapper<T> {
    /**
     * 插入数据，如果中已经存在相同的记录，则忽略当前新数据
     *
     * @param entity 实体类
     * @return 影响条数
     */
    int insertIgnore(T entity);


    /**
     * 替换数据
     * replace into表示插入替换数据，需求表中有PrimaryKey，或者unique索引，如果数据库已经存在数据，则用新数据替换，如果没有数据效果则和insert into一样；
     *
     * @param entity 实体类
     * @return 影响条数
     */
    int replace(T entity);

    int batchReplace(Collection<T> entityList);
}