com.obatis.orm.SqlHandle Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of obatis-orm Show documentation
Show all versions of obatis-orm Show documentation
obatis-orm, apply database project
The newest version!
package com.obatis.orm;
import com.obatis.config.response.result.PageInfo;
import com.obatis.config.response.result.ResultInfo;
import com.obatis.exception.HandleException;
import com.obatis.orm.model.CommonModel;
import com.obatis.orm.provider.DeleteProvider;
import com.obatis.orm.provider.QueryProvider;
import com.obatis.orm.provider.UpdateProvider;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Date;
import java.util.List;
import java.util.Map;
public interface SqlHandle {
/**
* 单个添加,传入一个 CommonEntity对象,并返回影响行数
* @param t 单个添加的实体数据
* @return
*/
int insert(T t) throws HandleException;
/**
* 批量添加,传入list CommonModel 对象,返回影响行数
* @param list
* @return
*/
int batchInsert(List list) throws HandleException;
/**
* 传入数据库封装操作对象 QueryProvider,进行更新
* @param provider
* @return
*/
int update(UpdateProvider provider) throws HandleException;
/**
* 批量更新,传入list 操作对象,返回影响行数
* @param list
* @return
* @throws HandleException
*/
int batchUpdate(List list) throws HandleException;
/**
* 根据传入的id主键,删除一条记录
* @param id
* @return
*/
int deleteById(Object id) throws HandleException;
/**
* 根据传入的 QueryProvider 对象,进行删除操作
* @param provider
* @return
*/
int delete(DeleteProvider provider) throws HandleException;
/**
* 1、根据id主键查询一条记录,返回所有字段。
* 2、如果根据条件有多条数据符合,则抛出异常。
* @param id
* @return
*/
T findById(Object id);
/**
* 1、根据id主键查询一条记录,返回所有字段,返回类型为预设的class类型,需强制转换一次。
* 2、如果根据条件有多条数据符合,则抛出异常。
* @param id
* @param resultCls
* @return
*/
M findById(Object id, Class resultCls);
/**
* 1、根据id主键查询一条记录,返回设定的字段。
* 2、如果根据条件有多条数据符合,则抛出异常。
* @param provider
* @param id
* @return
*/
T findById(QueryProvider provider, Object id);
/**
* 1、根据id主键查询一条记录,返回设定的字段,返回类型为预设的class类型,需强制转换一次。
* 2、如果根据条件有多条数据符合,则抛出异常。
* @param provider
* @param id
* @param resultCls
* @return
*/
M findById(QueryProvider provider, Object id, Class resultCls);
/**
* 1、根据传入的 QueryProvider 对象,查询一条 CommonModel 子类的记录。
* 2、如果根据条件有多条数据符合,则抛出异常。
* @param provider
* @return
*/
T find(QueryProvider provider);
/**
* 1、根据传入的 QueryProvider 对象,返回类型为预设的class类型,需强制转换一次。
* 2、如果根据条件有多条数据符合,则抛出异常。
* @param provider
* @param resultCls
* @return
*/
M find(QueryProvider provider, Class resultCls);
/**
* 主要针对有多条记录符合查询条件时,获取第一条数据(排序方式自行决定)
* @param provider
* @return
*/
T findOne(QueryProvider provider);
/**
* 主要针对有多条记录符合查询条件时,获取第一条数据(排序方式自行决定)
* @param provider
* @param resultCls
* @param
* @return
*/
M findOne(QueryProvider provider, Class resultCls);
/**
* 1、主要作用为校验,provider 只需传入条件值即可,映射的SQL语句例如:select count(1) from test t where t.name='test';
* 2、根据 count 函数的返回值进行判断,返回值大于0表示存在,否则不存在。
* @param provider
* @return
*/
boolean validate(QueryProvider provider);
/**
* 根据传入的 QueryProvider 对象,返回一条Map格式记录。 如果根据条件有多条数据符合,则抛出异常。
* @param provider
* @return
*/
Map findConvertMap(QueryProvider provider);
/**
* 根据传入的 QueryProvider 对象,返回符合条件的list集合的BaseEntity记录。
* 如果有传入分页标识,只返回设置页面的极限值,否则返回所有符合条件的数据。
* @param provider
* @return
*/
List list(QueryProvider provider);
/**
* 根据传入的 QueryProvider 对象,返回符合条件的list集合,返回类型为预设的class类型,需强制转换一次。
* 如果有传入分页标识,只返回设置页面的极限值,否则返回所有符合条件的数据。
* @param provider
* @return
*/
List list(QueryProvider provider, Class resultCls);
/**
* 根据传入的 QueryProvider 对象,返回符合条件的List集合的Map格式记录。
* 如果有传入分页标识,只返回设置页面的极限值,否则返回所有符合条件的数据。
* @param provider
* @return
*/
List
© 2015 - 2024 Weber Informatics LLC | Privacy Policy