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

cn.featherfly.persistence.jdbc.JdbcPersistence Maven / Gradle / Ivy

There is a newer version: 1.4.2
Show newest version
package cn.featherfly.persistence.jdbc;


import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import cn.featherfly.common.db.builder.ConditionBuilder;
import cn.featherfly.common.structure.page.Pagination;
import cn.featherfly.common.structure.page.PaginationResults;
import cn.featherfly.persistence.PersistenceBatch;



/**
 * 

* jdbc持久化实现接口. * 说明:
* 1. 凡是参数以MAP形式传递的,其SQL语句必须是命名参数形式(update user set username = :username)
* 2. 凡是参数以数组形式传递的,其SQL语句必须是问号占位形式(update user set username = ?)
*

* @author 钟冀 */ public interface JdbcPersistence extends PersistenceBatch{ /** *

* 执行指定SQL语句. * 只支持命名参数查询(update user set username = :username) *

* @param sql sql语句 * @param params 参数 * @return 影响的行数 */ int execute(String sql, Map params); /** *

* 执行指定SQL语句. * 只支持问号占位形式 *

* @param sql sql语句 * @param params 参数 * @return 影响的行数 */ int execute(String sql, Object[] params); /** *

* 执行指定SQL语句. * 只支持问号占位形式 *

* @param sql sql语句 * @param params 参数 * @return 影响的行数 */ int execute(String sql, List params); // /** // *

// * 插入. // * 将指定对象的值插入指定的表中, // * 具体的表名从传入对象类上的注解@Table(javax.persistence.Table)的name属性获取 // *

// * @param object 值对象 // * @return 影响的行数 // */ // int insert(Object object); // /** // *

// * 插入并返回自动生成的主键值. // * 将指定对象的值插入指定的表中, // * 具体的表名从传入对象类上的注解@Table(javax.persistence.Table)的name属性获取 // *

// * @param object 值对象 // * @param pkColumnName 主键列名 // * @return 自动生成的主键 // */ // Number insert(Object object, String pkColumnName); /** *

* 插入. * 将指定对象的值插入指定的表中 *

* @param tableName 数据库表名称 * @param object 值对象 * @return 影响的行数 */ int insert(String tableName, Object object); /** *

* 插入并返回自动生成的主键值. * 将指定对象的值插入指定的表中, * 具体的表名从传入对象类上的注解@Table的name属性获取 *

* @param tableName 数据库表名称 * @param object 值对象 * @param pkColumnNames 主键列名 * @return 自动生成的主键 */ Number insert(String tableName, Object object, String[] pkColumnNames); /** *

* 插入并返回自动生成的主键值. * 将指定对象的值插入指定的表中, * 具体的表名从传入对象类上的注解@Table的name属性获取 *

* @param tableName 数据库表名称 * @param object 值对象 * @param pkColumnNames 主键列名 * @return 自动生成的主键 */ Number insert(String tableName, Object object, List pkColumnNames); /** *

* 插入. * 将指定map中的值插入指定的表中 *

* @param tableName 数据库表名称 * @param map 存放值的map * @return 影响的行数 */ int insert(String tableName, Map map); /** *

* 插入并返回自动生成的主键值. * 将指定map中的值插入指定的表中. *

* @param tableName 数据库表名称 * @param map 存放值的map * @param pkColumnNames 主键列名 * @return 自动生成的主键 */ Number insert(String tableName, Map map, String[] pkColumnNames); /** *

* 更新. *

* @param tableName 数据库表名称 * @param params 设置的值(SQL SET 后面的内容) * @param conditions 条件(SQL WHERE 后面的内容) * @return 影响的行数 */ int update(String tableName, Map params, Map conditions); /** *

* 删除. *

* @param tableName 数据库表名称 * @param columnKeyAndValue 列名和值,多个参数以and连接 * @return 影响的行数 */ int delete(String tableName, Map columnKeyAndValue); /** *

* 查询唯一数据. * 使用MAP封装. *

* @param sql 查询sql * @param params 参数 * @return 封装了返回数据的MAP */ Map find(String sql, Map params); /** *

* 查询唯一数据. * 使用MAP封装. *

* @param sql 查询sql * @param params 参数 * @return 封装了返回数据的MAP */ Map find(String sql, Object[] params); /** *

* 查询唯一数据. * 使用MAP封装. *

* @param sql 查询sql * @param params 参数 * @return 封装了返回数据的MAP */ Map find(String sql, List params); /** *

* 查询唯一数据. *

* @param 对象类型 * @param mappingType 记录映射类 * @param builder 条件构造器 * @return 对象 */ E find(Class mappingType, ConditionBuilder builder); /** *

* 查询唯一数据. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @return 对象 */ E find(String sql, Class mappingType); /** *

* 查询唯一数据. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param params 参数 * @return 对象 */ E find(String sql, Class mappingType, Map params); /** *

* 查询唯一数据. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param params 参数 * @return 对象 */ E find(String sql, Class mappingType, Object[] params); /** *

* 查询唯一数据. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param params 参数 * @return 对象 */ E find(String sql, Class mappingType, List params); /** *

* 查询唯一数据. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 记录映射类 * @return 对象列表 */ E find(String sql, RowMapper rowMapper); /** *

* 查询唯一数据. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 记录映射类 * @param params 参数 * @return 对象列表 */ E find(String sql, RowMapper rowMapper, Map params); /** *

* 查询唯一数据. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 记录映射类 * @param params 参数 * @return 对象列表 */ E find(String sql, RowMapper rowMapper, Object[] params); /** *

* 查询唯一数据. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 记录映射类 * @param params 参数 * @return 对象列表 */ E find(String sql, RowMapper rowMapper, List params); /** *

* count查询语句的快捷方式 *

* @param tableName 需要统计的表名 * @param conditionBuilder 条件构造器 * @return 统计数 */ Integer countForInt(String tableName, ConditionBuilder conditionBuilder); /** *

* count查询语句的快捷方式 *

* @param tableName 需要统计的表名 * @param conditionBuilder 条件构造器 * @return 统计数 */ Long countForLong(String tableName, ConditionBuilder conditionBuilder); /** *

* 查询唯一数据.(返回单列) *

* @param sql 查询sql * @param params 参数 * @param type 返回的唯一值对象类型(简单对象) * @return 对象 */ T findForType(String sql, Class type, Map params); /** *

* 查询唯一数据.(返回单列) *

* @param sql 查询sql * @param params 参数 * @param type 返回的唯一值对象类型(简单对象) * @return 对象 */ T findForType(String sql, Class type, Object[] params); /** *

* 查询唯一数据.(返回单列) *

* @param sql 查询sql * @param params 参数 * @param type 返回的唯一值对象类型(简单对象) * @return 对象 */ T findForType(String sql, Class type, List params); /** *

* 查询单列数据列表 *

* @param sql 查询sql * @param params 参数 * @param type 返回的唯一值对象类型(简单对象) * @return 列表 */ List findForList(String sql, Class type, Map params); /** *

* 查询单列数据列表 *

* @param sql 查询sql * @param params 参数 * @param type 返回的唯一值对象类型(简单对象) * @return 列表 */ List findForList(String sql, Class type, Object[] params); /** *

* 查询单列数据列表. *

* @param sql 查询sql * @param params 参数 * @param type 返回的唯一值对象类型(简单对象) * @return 列表 */ List findForList(String sql, Class type, List params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return Integer */ Integer findForInt(String sql, Map params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return Integer */ Integer findForInt(String sql, Object[] params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return Integer */ Integer findForInt(String sql, List params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return 对象列表 */ Long findForLong(String sql, Map params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return 对象列表 */ Long findForLong(String sql, Object[] params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return 对象列表 */ Long findForLong(String sql, List params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return 对象列表 */ BigDecimal findForBigDecimal(String sql, Map params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return 对象列表 */ BigDecimal findForBigDecimal(String sql, Object[] params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return 对象列表 */ BigDecimal findForBigDecimal(String sql, List params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return 对象列表 */ String findForString(String sql, Map params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return 对象列表 */ String findForString(String sql, Object[] params); /** *

* 查询唯一数据. *

* @param sql 查询sql * @param params 参数 * @return 对象列表 */ String findForString(String sql, List params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @return MAP列表 */ List> findList(String sql); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param params 参数 * @return MAP列表 */ List> findList(String sql, Map params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param params 参数 * @return MAP列表 */ List> findList(String sql, Object[] params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param params 参数 * @return MAP列表 */ List> findList(String sql, List params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param pagination 分页模型 * @param params 参数 * @return MAP列表 */ List> findList(String sql, Pagination pagination , Map params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param pagination 分页模型 * @param params 参数 * @return MAP列表 */ List> findList(String sql, Pagination pagination, Object[] params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param pagination 分页模型 * @param params 参数 * @return MAP列表 */ List> findList(String sql, Pagination pagination, List params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param pagination 分页模型 * @param params 参数 * @return 分页对象 */ PaginationResults> findPage(String sql, Pagination pagination , Map params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param pagination 分页模型 * @param params 参数 * @return 分页对象 */ PaginationResults> findPage(String sql, Pagination pagination, Object[] params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param pagination 分页模型 * @param params 参数 * @return 分页对象 */ PaginationResults> findPage(String sql, Pagination pagination, List params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return MAP列表 */ List> findList(String sql, int start, int limit, Map params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return MAP列表 */ List> findList(String sql, int start, int limit, Object[] params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return MAP列表 */ List> findList(String sql, int start, int limit, List params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 分页对象 */ PaginationResults> findPage(String sql, int start, int limit, Map params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 分页对象 */ PaginationResults> findPage(String sql, int start, int limit, Object[] params); /** *

* 查询列表. * 列表内放的MAP. *

* @param sql 查询sql * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 分页对象 */ PaginationResults> findPage(String sql, int start, int limit, List params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param mappingType 记录映射类 * @param builder 条件构造器 * @return 对象列表 */ List findList(Class mappingType, ConditionBuilder builder); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param mappingType 记录映射类 * @param builder 条件构造器 * @return 分页对象 */ PaginationResults findPage(Class mappingType, ConditionBuilder builder); // /** // *

// * 查询列表. // * 列表内放的是记录映射类的实例对象. // *

// * @param 对象类型 // * @param mappingType 记录映射类 // * @param builder 条件构造器 // * @param start 起始位置 // * @param limit 返回数 // * @return 对象列表 // */ // List findList(Class mappingType, ConditionBuilder builder, int start, int limit); // /** // *

// * 查询列表. // * 列表内放的是记录映射类的实例对象. // *

// * @param 对象类型 // * @param mappingType 记录映射类 // * @param builder 条件构造器 // * @param pagination 分页模型 // * @return 对象列表 // */ // List findList(Class mappingType, ConditionBuilder builder, Pagination pagination); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @return 对象列表 */ List findList(String sql, Class mappingType); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param params 参数 * @return 对象列表 */ List findList(String sql, Class mappingType, Map params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param params 参数 * @return 对象列表 */ List findList(String sql, Class mappingType, Object[] params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param params 参数 * @return 对象列表 */ List findList(String sql, Class mappingType, List params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param pagination 分页模型 * @param params 参数 * @return 对象列表 */ List findList(String sql, Class mappingType, Pagination pagination, Map params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param pagination 分页模型 * @param params 参数 * @return 对象列表 */ List findList(String sql, Class mappingType, Pagination pagination, Object[] params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param pagination 分页模型 * @param params 参数 * @return 对象列表 */ List findList(String sql, Class mappingType, Pagination pagination, List params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param pagination 分页模型 * @param params 参数 * @return 分页对象 */ PaginationResults findPage(String sql, Class mappingType, Pagination pagination, Map params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param pagination 分页模型 * @param params 参数 * @return 分页对象 */ PaginationResults findPage(String sql, Class mappingType, Pagination pagination, Object[] params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param pagination 分页模型 * @param params 参数 * @return 分页对象 */ PaginationResults findPage(String sql, Class mappingType, Pagination pagination, List params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 对象列表 */ List findList(String sql, Class mappingType, int start, int limit, Map params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 对象列表 */ List findList(String sql, Class mappingType, int start, int limit, Object[] params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 对象列表 */ List findList(String sql, Class mappingType, int start, int limit, List params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 分页对象 */ PaginationResults findPage(String sql, Class mappingType, int start, int limit, Map params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 分页对象 */ PaginationResults findPage(String sql, Class mappingType, int start, int limit, Object[] params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param mappingType 记录映射类 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 分页对象 */ PaginationResults findPage(String sql, Class mappingType, int start, int limit, List params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @return 对象列表 */ List findList(String sql, RowMapper rowMapper); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param params 参数 * @return 对象列表 */ List findList(String sql, RowMapper rowMapper, Map params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param params 参数 * @return 对象列表 */ List findList(String sql, RowMapper rowMapper, Object[] params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param params 参数 * @return 对象列表 */ List findList(String sql, RowMapper rowMapper, List params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param pagination 分页模型 * @param params 参数 * @return 对象列表 */ List findList(String sql, RowMapper rowMapper, Pagination pagination, Map params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param pagination 分页模型 * @param params 参数 * @return 对象列表 */ List findList(String sql, RowMapper rowMapper, Pagination pagination, Object[] params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param pagination 分页模型 * @param params 参数 * @return 对象列表 */ List findList(String sql, RowMapper rowMapper, Pagination pagination, List params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 对象列表 */ List findList(String sql, RowMapper rowMapper, int start, int limit, Map params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 对象列表 */ List findList(String sql, RowMapper rowMapper, int start, int limit, Object[] params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 对象列表 */ List findList(String sql, RowMapper rowMapper, int start, int limit, List params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 分页对象 */ PaginationResults findPage(String sql, RowMapper rowMapper, int start, int limit, Map params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 分页对象 */ PaginationResults findPage(String sql, RowMapper rowMapper, int start, int limit, Object[] params); /** *

* 查询列表. * 列表内放的是记录映射类的实例对象. *

* @param 对象类型 * @param sql 查询sql * @param rowMapper 自定义映射接口 * @param start 起始位置 * @param limit 返回数 * @param params 参数 * @return 分页对象 */ PaginationResults findPage(String sql, RowMapper rowMapper, int start, int limit, List params); }