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

net.ymate.platform.persistence.jdbc.ISession Maven / Gradle / Ivy

There is a newer version: 1.1
Show newest version
/*
 * Copyright 2007-2107 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package net.ymate.platform.persistence.jdbc;

import java.util.List;

import net.ymate.platform.persistence.base.OperatorException;
import net.ymate.platform.persistence.jdbc.operator.IResultSetHandler;
import net.ymate.platform.persistence.support.ISessionEvent;
import net.ymate.platform.persistence.support.PageResultSet;


/**
 * 

* ISession *

*

* JDBC 数据库操作会话接口定义类; *

* * @author 刘镇([email protected]) * @version 0.0.0 * * * * * * * * * * * *
版本号动作修改人修改时间
0.0.0创建类刘镇2011-9-21下午01:45:36
*/ public interface ISession { /** * @return 获取会话对象唯一标识ID */ public String getId(); /** * @return 获取数据连接对象 */ public IConnectionHolder getConnection(); /** * 设置会话事件处理器 * * @param event 事件处理器接口 * @return 会话对象 */ public ISession setSessionEvent(ISessionEvent event); /** * 关闭/释放会话 */ public void close(); /** * @param 指定结果集数据类型 * @param sql SQL语句 * @param handler 结果集数据处理器 * @param params SQL参数集合 * @return 执行SQL查询,返回全部结果数据 * @throws OperatorException */ public List findAll(String sql, IResultSetHandler handler, Object[] params) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @return 根据实体执行SQL查询,返回全部结果数据 * @throws OperatorException */ public List findAll(Class entity) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @param cond 查询条件 * @param params 条件参数 * @return 根据实体执行SQL查询,返回全部结果数据 * @throws OperatorException */ public List findAll(Class entity, String cond, Object[] params) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @param cond 查询条件 * @param fieldFilter 显示字段过滤集合 * @param params 条件参数 * @return 根据实体执行SQL查询,返回全部结果数据 * @throws OperatorException */ public List findAll(Class entity, String cond, String[] fieldFilter, Object[] params) throws OperatorException; /** * @param 指定结果集数据类型 * @param sql SQL语句 * @param handler 结果集数据处理器 * @param pageSize 分页大小 * @param page 页号 * @param params SQL参数集合 * @return 执行SQL分页查询(执行总记录数统计) * @throws OperatorException */ public PageResultSet findAll(String sql, IResultSetHandler handler, int pageSize, int page, Object[] params) throws OperatorException; /** * @param 指定结果集数据类型 * @param sql SQL语句 * @param handler 结果集数据处理器 * @param pageSize 分页大小 * @param page 页号 * @param count 是否执行总记录数统计 * @param params SQL参数集合 * @return 执行SQL分页查询 * @throws OperatorException */ public PageResultSet findAll(String sql, IResultSetHandler handler, int pageSize, int page, boolean count, Object[] params) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @param cond 查询条件 * @param fieldFilter 显示字段过滤集合 * @param pageSize 分页大小 * @param page 页号 * @param params 条件参数 * @return 根据实体执行SQL分页查询 * @throws OperatorException */ public PageResultSet findAll(Class entity, String cond, String[] fieldFilter, int pageSize, int page, Object[] params) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @param cond 查询条件 * @param fieldFilter 显示字段过滤集合 * @param pageSize 分页大小 * @param page 页号 * @param count 是否执行总记录数统计 * @param params 条件参数 * @return 根据实体执行SQL分页查询 * @throws OperatorException */ public PageResultSet findAll(Class entity, String cond, String[] fieldFilter, int pageSize, int page, boolean count, Object[] params) throws OperatorException; /** * @param 指定结果集数据类型 * @param sql SQL语句 * @param handler 结果集数据处理器 * @param params SQL参数集合 * @return 执行SQL查询,返回结果集中第一条数据 * @throws OperatorException */ public T findFirst(String sql, IResultSetHandler handler, Object[] params) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @param cond 查询条件 * @param fieldFilter 显示字段过滤集合 * @param params 条件参数 * @return 根据实体执行SQL查询,返回结果集中第一条数据 * @throws OperatorException */ public T findFirst(Class entity, String cond, String[] fieldFilter, Object[] params) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @param id 记录Id * @return 通过ID查找指定的实体对象 * @throws OperatorException */ public T find(Class entity, Object id) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @param id 记录Id * @param fieldFilter 显示字段过滤集合 * @return 通过ID查找指定的实体对象的指定字段 * @throws OperatorException */ public T find(Class entity, Object id, String[] fieldFilter) throws OperatorException; /** * @param sql SQL更新语句 * @param params SQL参数 * @return 执行SQL更新(如更新、插入和删除),返回此次更新影响的记录数 * @throws OperatorException */ public int executeForUpdate(String sql, Object[] params) throws OperatorException; /** * @param sql SQL更新语句 * @param params SQL参数 * @return 执行SQL批量更新(如批更新、插入和删除),返回此次更新影响的记录数 * @throws OperatorException */ public int[] executeForUpdateAll(String sql, List params) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @return 根据实体执行SQL更新,返回更新后的实体对象 * @throws OperatorException */ public T update(T entity) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @param fieldFilter 更新字段过滤集合 * @return 根据实体执行SQL更新,返回更新后的实体对象 * @throws OperatorException */ public T update(T entity, String[] fieldFilter) throws OperatorException; /** * @param entity 实体对象 * @param fieldFilter 更新字段过滤集合 * @param isExcluded 指定更新字段过滤集合是否为排除字段集合 * @param 指定结果集数据类型 * @return 根据实体执行SQL更新,返回更新后的实体对象 * @throws OperatorException */ public T update(T entity, String[] fieldFilter, boolean isExcluded) throws OperatorException; /** * @param 指定结果集数据类型 * @param entities 实体对象集合 * @return 根据实体执行SQL批量更新,返回更新后的实体对象集合 * @throws OperatorException */ public List updateAll(List entities) throws OperatorException; /** * @param 指定结果集数据类型 * @param entities 实体对象集合 * @param fieldFilter 更新字段过滤集合 * @return 根据实体执行SQL批量更新,返回更新后的实体对象集合 * @throws OperatorException */ public List updateAll(List entities, String[] fieldFilter) throws OperatorException; /** * @param entities 实体对象集合 * @param fieldFilter 更新字段过滤集合 * @param isExcluded 指定更新字段过滤集合是否为排除字段集合 * @param 指定结果集数据类型 * @return 根据实体执行SQL批量更新,返回更新后的实体对象集合 * @throws OperatorException */ public List updateAll(List entities, String[] fieldFilter, boolean isExcluded) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @return 根据实体执行记录插入,返回插入后的实体对象 * @throws OperatorException */ public T insert(T entity) throws OperatorException; /** * @param 指定结果集数据类型 * @param entities 实体对象集合 * @return 根据实体执行记录批量插入,返回插入后的实体对象集合 * @throws OperatorException */ public List insertAll(List entities) throws OperatorException; /** * @param 指定结果集数据类型 * @param entity 实体对象 * @return 根据实体执行记录删除,返回删除后的实体对象 * @throws OperatorException */ public T delete(T entity) throws OperatorException; public int delete(Class entityClass, Object id) throws OperatorException; /** * @param 指定结果集数据类型 * @param entities 实体对象集合 * @return 根据实体执行记录批量删除,返回删除后的实体对象集合 * @throws OperatorException */ public List deleteAll(List entities) throws OperatorException; public int[] deleteAll(Class entityClass, Object[] ids) throws OperatorException; /** * @param 指定实体类型 * @param entityClass 实体类对象 * @param whereStr 查询条件 * @param params 条件参数集合 * @return 计算查询结果总记录数量 * @throws OperatorException */ public long getAmount(Class entityClass, String whereStr, Object[] params) throws OperatorException; /** * @param sql SQL语句 * @param params SQL参数集合 * @return 计算查询结果总记录数量 * @throws OperatorException */ public long getAmount(String sql, Object[] params) throws OperatorException; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy