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

org.nbone.persistence.QueryOperations Maven / Gradle / Ivy

package org.nbone.persistence;

import java.util.Collection;
import java.util.List;
import java.util.Map;

import org.nbone.mvc.domain.GroupQuery;
import org.nbone.persistence.annotation.FieldLevel;
import org.springframework.data.domain.Page;
/**
 * 查询基础接口
 * @author thinking
 * @version 1.0 
 * @since 2014-08-08
 */
public interface QueryOperations {
	

	/**
	 * 根据 entity bean含有参数的属性组装查询条件 hibernate get method(参数默认全部使用 等号 =)
	 * @param object 查询实体参数
	 * @param sqlConfig 查询配置
	 *                  
  • fieldNames 按需返回字段java字段名称【返回含有数组中的字段的】,比返回整个实体数据提高效率 *
  • groupQuery 分组查询 , *
  • fieldLevel 字段级别查询, *
  • dbFieldMode 是否启用数据库字段名称模式, *
  • afterWhere 追加条件语句 或者 group by /order by 子句 参数可为null 如: and id in(1,2,3,4) (可为空) * @return */ public List getForList(Object object, SqlConfig sqlConfig); /** * 查询(根据 columnMap 条件) * * @param columnMap columnMap 表字段 map 对象 * @param sqlConfig 设置字段为数据库字段对应模式和entityClass * @param * @return */ public List getForList(Map columnMap,SqlConfig sqlConfig); /** * 根据 entity bean含有参数的属性组装查询条件 hibernate get method(参数默认全部使用 等号 =) * * @param object 查询实体参数 * @param sqlConfig 查询配置 * @param * @param * @return return map 将返回的List 转换成Map默认使用主键作为map key */ public Map getMapWithMapKey(Object object, SqlConfig sqlConfig); public Map getMapWithMapKey(SqlConfig sqlConfig); /** * 按照实体中不为空的参数查询实体列表(参数默认使用 number use = /String use like)(支持字段查询符号操作 = > < >= <= is null is not null) * @param object 查询实体参数 * @param sqlConfig 查询配置 * @return */ public List queryForList(Object object,SqlConfig sqlConfig); /** * 按照实体中的参数查询实体列表(特殊情况下不同得实现方式) * @param object 查询实体参数 * @return */ public List findForList(Object object); /** * 按照实体中的参数查询实体列表(特殊情况下不同得实现方式) * @param object 查询实体参数 * @param sqlConfig 查询配置 * @param * @return */ public List findForList(Object object,SqlConfig sqlConfig); /** * 根据实体中的参数查询实体列表并分页(比返回整个实体数据提高效率) (参数默认全部使用 等号 =)【按照实体中的参数查询实体列表并分页】 * * @param object 查询实体参数 * @param sqlConfig 按需返回字段java字段名称【返回含有数组中的字段的】,afterWhere group by/order by 子句 (可为空) * @param pageNum 当前页码 * @param pageSize 页的大小 * @param * @param * @return */ public Page getForPage(Object object,SqlConfig sqlConfig,int pageNum, int pageSize); /** * 根据实体中的参数查询实体列表并分页(比返回整个实体数据提高效率) (参数默认全部使用 等号 =)【按照实体中的参数查询实体列表并分页】 * * @param paramMap 查询参数 * @param sqlConfig 按需返回字段java字段名称【返回含有数组中的字段的】,afterWhere group by/order by 子句 (可为空) * @param pageNum 当前页码 * @param pageSize 页的大小 * @param * @param * @return */ public Page getForPage(Map paramMap,SqlConfig sqlConfig,int pageNum, int pageSize); /** * 按照实体中的参数查询实体列表并分页(特殊情况下不同得实现方式 参数默认number use = /String use like) * @param object 查询实体参数 * @param sqlConfig 按需返回字段java字段名称【返回含有数组中的字段的】,afterWhere group by/order by 子句 (可为空) * @param pageNum 当前页码 * @param pageSize 页的大小 * @return */ public Page queryForPage(Object object,SqlConfig sqlConfig,int pageNum, int pageSize); /** * 按照实体中的参数查询实体列表并分页(可以自定义操作符号类型 = > < between in ) * @param object 查询实体参数 * @param pageNum 当前页码 * @param pageSize 页的大小 * @param sqlConfig 查询配置 可以自定义操作符号类型 = > < between in * @param * @return */ public Page queryForPage(Object object,int pageNum, int pageSize,SqlConfig sqlConfig); public Page findForPage(Object object,int pageNum, int pageSize,String... afterWhere); /** * 按照实体中的参数查询实体列表并分页 * @param object 查询实体参数 * @param pageNum 当前页码 * @param pageSize 页的大小 * @param sqlConfig group by/order by 子句 * @return * {@link #findForList(Object)} */ public Page findForPage(Object object,int pageNum, int pageSize,SqlConfig sqlConfig); /** * 按照实体中的参数查询实体列表并限制返回数量 (参数全部使用 等号 =) * @param object 查询实体参数 * @param sqlConfig 按需返回字段java字段名称【返回含有数组中的字段的】,分组查询 ,afterWhere group by/order by 子句 (可为空) * @param limit 限制返回的大小 * @return */ public List getForLimit(Object object,SqlConfig sqlConfig,int limit); /** * 按照实体中的参数查询实体列表并限制返回数量 (参数全部使用 等号 = > < ) * * @param object 查询实体参数 * @param sqlConfig 按需返回字段java字段名称【返回含有数组中的字段的】,分组查询 ,afterWhere group by/order by 子句 (可为空) * @param offset 偏移量位置 默认为 0 * @param limit 限制返回的大小 * @return */ public List getForLimit(Object object, SqlConfig sqlConfig, long offset, int limit); /** * 按照实体中的参数查询实体列表并限制返回数量 (参数全部使用 等号 =) * @param object 查询实体参数 * @param operationMap 设置字段查询操作符号 = > < 等等 (可为空) * @param group 分组查询 * @param limit 限制返回的大小 * @param afterWhere group by/order by 子句 * @return */ public List getForLimit(Object object,Map operationMap,GroupQuery group,int limit,String... afterWhere); /** * 按照实体中的参数查询实体列表并限制返回数量(特殊情况下不同得实现方式 number use = /String use like) * @param object 查询实体参数 * @param sqlConfig 按需返回字段java字段名称【返回含有数组中的字段的】,分组查询 ,afterWhere group by/order by 子句 (可为空) * @param limit 限制返回的大小 * @return */ public List queryForLimit(Object object,SqlConfig sqlConfig,int limit); /** * 根据实体参数查询返回单个字段的列表(比返回整个实体数据提高效率) * @param object 查询实体参数 * @param fieldName 要返回的单个字段名称 默认采用java property mapping * @param requiredType 单个字段的目标类型 * @param afterWhere 追加条件语句 或者 group by /order by 子句 参数可为null 如: and id in(1,2,3,4) * @return */ public List getForList(Object object,String fieldName,Class requiredType,String... afterWhere); }




  • © 2015 - 2025 Weber Informatics LLC | Privacy Policy