com.dream.template.mapper.TemplateMapper Maven / Gradle / Ivy
package com.dream.template.mapper;
import com.dream.system.config.Page;
import com.dream.util.tree.Tree;
import java.util.Collection;
import java.util.List;
/**
* 模板操作接口
*/
public interface TemplateMapper {
/**
* 根据主键查询
*
* @param type 接收类型
* @param id 主键值
* @param
* @return
*/
T selectById(Class type, Object id);
/**
* 根据主键集合查询
*
* @param type 接收类型
* @param idList 主键值集合
* @param
* @return
*/
List selectByIds(Class type, Collection> idList);
/**
* 根据对象生成注解条件,并查询一条
*
* @param type 接收类型
* @param conditionObject 对象注解条件
* @param
* @return
*/
T selectOne(Class type, Object conditionObject);
/**
* 根据对象生成注解条件,并查询集合
*
* @param type 接收类型
* @param conditionObject 对象注解条件
* @param
* @return
*/
List selectList(Class type, Object conditionObject);
/**
* 根据对象生成注解条件,并查询树形结构
*
* @param type 接收类型
* @param conditionObject 对象注解条件
* @param
* @return
*/
List selectTree(Class type, Object conditionObject);
/**
* 根据对象生成注解条件,并分页查询
*
* @param type 接收类型
* @param conditionObject 对象注解条件
* @param page 分页
* @param
* @return
*/
Page selectPage(Class type, Object conditionObject, Page page);
/**
* 根据主键更新
*
* @param view 更新对象
* @return
*/
int updateById(Object view);
/**
* 根据主键非空更新
*
* @param view 更新对象
* @return
*/
int updateNonById(Object view);
/**
* 插入数据
*
* @param view 插入对象
* @return
*/
int insert(Object view);
/**
* 插入数据并返回主键值
*
* @param view 插入对象
* @return
*/
Object insertFetchKey(Object view);
/**
* 根据主键删除
*
* @param type 删除java类型映射的表数据
* @param id 主键值
* @return
*/
int deleteById(Class> type, Object id);
/**
* 根据主键删除
*
* @param view 删除对象,根据主键删除,同时可进行参数校验
* @return
*/
int delete(Object view);
/**
* 根据主键集合删除
*
* @param type java类型映射的表
* @param idList 主键值集合
* @return
*/
int deleteByIds(Class> type, Collection> idList);
/**
* 判断主键是否存在
*
* @param type java类型映射的表
* @param id 主键值
* @return
*/
boolean existById(Class> type, Object id);
/**
* 根据注解对象生成的条件判断是否存在
*
* @param type java类型映射的表
* @param conditionObject 注解对象条件
* @return
*/
boolean exist(Class> type, Object conditionObject);
/**
* 批量插入
*
* @param viewList 数据集合
* @return
*/
List