All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gitee.qdbp.jdbc.api.SqlDao Maven / Gradle / Ivy

package com.gitee.qdbp.jdbc.api;

import java.util.List;
import java.util.Map;
import org.springframework.jdbc.core.RowMapper;
import com.gitee.qdbp.able.jdbc.paging.PageList;
import com.gitee.qdbp.able.jdbc.paging.Paging;
import com.gitee.qdbp.jdbc.sql.SqlBuffer;

/**
 * 执行SQL语句的处理接口
* SQL语句配置在SQL模板文件中, 系统启动时预加载到缓存, 使用时通过sqlId调用 * * @author zhaohuihua * @version 20200903 * @since 3.2.0 */ public interface SqlDao { /** * 查询对象 * * @param 对象类型 * @param sqlId SqlId * @param params 查询参数 (可为null) * @param resultType 结果类型 * @return 查询结果对象 */ T findForObject(String sqlId, Object params, Class resultType); /** * 查询对象 * * @param 对象类型 * @param sqlId SqlId * @param params 查询参数 (可为null) * @param rowMapper 结果转换类 * @return 查询结果对象 */ T findForObject(String sqlId, Object params, RowMapper rowMapper); /** * 查询数据, 结果为Map结构 * * @param sqlId SqlId * @param params 查询参数 (可为null) * @return Map结果 */ Map findForMap(String sqlId, Object params); /** * 查询列表 * * @param 对象类型 * @param sqlId SqlId * @param params 查询参数 (可为null) * @param resultType 结果类型 * @return 查询结果列表 */ List listForObjects(String sqlId, Object params, Class resultType); /** * 查询列表 * * @param 对象类型 * @param sqlId SqlId * @param params 查询参数 (可为null) * @param rowMapper 结果转换类 * @return 查询结果列表 */ List listForObjects(String sqlId, Object params, RowMapper rowMapper); /** * 查询数据列表, 结果为Map列表 * * @param sqlId SqlId * @param params 查询参数 (可为null) * @return Map列表 */ List> listForMaps(String sqlId, Object params); /** * 分页查询数据列表 * * @param 对象类型 * @param sqlId SqlId * @param params 查询参数 (可为null) * @param paging 分页参数 * @param resultType 结果类型 * @return 查询结果列表 */ PageList pageForObjects(String sqlId, Object params, Paging paging, Class resultType); /** * 分页查询数据列表 * * @param 对象类型 * @param sqlId SqlId * @param params 查询参数 (可为null) * @param paging 分页参数 * @param rowMapper 结果转换类 * @return 查询结果列表 */ PageList pageForObjects(String sqlId, Object params, Paging paging, RowMapper rowMapper); /** * 分页查询数据列表, 结果为Map列表 * * @param sqlId SqlId * @param params 查询参数 (可为null) * @param paging 分页参数 * @return Map列表 */ PageList> pageForMaps(String sqlId, Object params, Paging paging); /** * 分页查询数据列表 (注意:查询SQL和统计SQL中包含的占位符参数必须完全一致) * * @param 对象类型 * @param queryId 查询语句的SqlId * @param countId 统计语句的SqlId * @param params 查询参数 (可为null) * @param paging 分页参数 * @param resultType 结果类型 * @return 查询结果列表 */ PageList pageForObjects(String queryId, String countId, Object params, Paging paging, Class resultType); /** * 分页查询数据列表 (注意:查询SQL和统计SQL中包含的占位符参数必须完全一致) * * @param 对象类型 * @param queryId 查询语句的SqlId * @param countId 统计语句的SqlId * @param params 查询参数 (可为null) * @param paging 分页参数 * @param rowMapper 结果转换类 * @return 查询结果列表 */ PageList pageForObjects(String queryId, String countId, Object params, Paging paging, RowMapper rowMapper); /** * 分页查询数据列表, 结果为Map列表 (注意:查询SQL和统计SQL中包含的占位符参数必须完全一致) * * @param queryId 查询语句的SqlId * @param countId 统计语句的SqlId * @param params 查询参数 (可为null) * @param paging 分页参数 * @return Map列表 */ PageList> pageForMaps(String queryId, String countId, Object params, Paging paging); /** * 执行插入语句 * * @param sqlId SqlId * @param params Sql参数 (可为null) * @return 影响行数 */ int insert(String sqlId, Object params); /** * 执行更新语句 * * @param sqlId SqlId * @param params Sql参数 (可为null) * @return 影响行数 */ int update(String sqlId, Object params); /** * 执行删除语句 * * @param sqlId SqlId * @param params Sql参数 (可为null) * @return 影响行数 */ int delete(String sqlId, Object params); /** * 是否存在指定的SQL模板 * * @param sqlId SqlId * @return 是否存在 */ boolean existSqlTemplate(String sqlId); /** * 获取SQL内容 * * @param sqlId SqlId * @param params Sql参数 (可为null) * @return SQL内容 */ SqlBuffer getSqlContent(String sqlId, Object params); /** * 渲染SQL模板内容 * * @param templateContent SQL模板内容 * @param params params Sql参数 * @return SQL内容 */ SqlBuffer renderSqlTemplate(String templateContent, Object params); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy