com.starmcc.qmdata.common.QmData Maven / Gradle / Ivy
package com.starmcc.qmdata.common;
import java.util.List;
/**
* @author qm
* @date 2018年11月24日 上午2:16:16
* @Description Mybatis数据持久层封装工具
*/
public interface QmData {
/**
* 查询列表
*
* @param sqlName 命名空间
* @param params 参数
* @return 根据返回指定的类型进行嵌套数据
*/
List selectList(String sqlName, Object params);
/**
* 查询单条记录
*
* @param sqlName 命名空间
* @param params 参数
* @return 根据返回指定的类型进行嵌套数据
*/
M selectOne(String sqlName, Object params);
/**
* 插入记录
*
* @param sqlName 命名空间
* @param params 参数
* @return 影响行数
*/
int insert(String sqlName, Object params);
/**
* 修改记录
*
* @param sqlName 命名空间
* @param params 参数
* @return 影响行数
*/
int update(String sqlName, Object params);
/**
* 删除记录
*
* @param sqlName 命名空间
* @param params 参数
* @return 影响行数
*/
int delete(String sqlName, Object params);
/**
* 通用查询列表
*
* @param entity 实体类(必须带有@Table)
* @param clamm 实体类class对象
* @return 根据参数指定的类型进行嵌套数据
*/
List autoSelectList(Q entity, Class clamm);
/**
* 通用查询单条记录
*
* @param entity 实体类(必须带有@Table)
* @param clamm 实体类class对象
* @return 根据参数指定的类型进行嵌套数据
*/
Q autoSelectOne(Q entity, Class clamm);
/**
* 通用插入记录
*
* @param entity 实体类(必须带有@Table和@Id)
* @return 影响行数
*/
int autoInsert(Q entity);
/**
* 通用修改记录
*
* @param entity 实体类(必须带有@Table和@Id)
* @return 影响行数
*/
int autoUpdate(Q entity);
/**
* 通用删除记录
*
* @param entity 实体类(必须带有@Table和@Id)
* @return 影响行数
*/
int autoDelete(Q entity);
/**
* 通用查询记录数
*
* @param entity 实体类(必须带有@Table和@Id)
* @return 影响行数
*/
int autoSelectCount(Q entity);
}