package cn.reghao.autodop.dmaster.util.db;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * 数据库 CRUD 操作接口
 *
 * @author reghao
 * @date 2020-06-25 01:34:27
 */
public interface CrudOps<T> {
    default void insert(T t) {}
    default void update(T t) {}
    void insertOrUpdate(T t);
    void delete(T t);
    default void deleteByUk(String uk) {}

    T selectByPk(Integer pk);
    T selectByUk(String uk);
    default Page<T> selectByPage(Pageable pageable) {
        return null;
    }
    default List<T> selectAll() {
        return null;
    }
}
