Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
cn.featherfly.persistence.jdbc.JdbcPersistence Maven / Gradle / Ivy
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);
}