⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dao.java

📁 基于java的组号查询模块
💻 JAVA
字号:
package com.lily.dap.dao;

import java.io.Serializable;
import java.sql.ResultSet;
import java.util.List;

import org.hibernate.type.Type;
import org.springframework.orm.ObjectRetrievalFailureException;

import com.lily.dap.model.QueryCondition;


/**
 * 抽象DAO,实现完整的基本CRUD操作及任意条件的查询操作。
 * 
 * @author zouxuemo
 *
 */
public interface Dao {
	/**
	 * 检索给定ID的给定类对象
	 * 
	 * @param clazz
	 * @param id
	 * @return
	 * @throws ObjectRetrievalFailureException
	 */
	public Object get(Class clazz, Serializable id) throws ObjectRetrievalFailureException;
	
	/**
	 * 保存类对象
	 * 
	 * @param o
	 */
	public void save(Object o);
	
	/**
	 * 删除给定ID的给定类对象
	 * 
	 * @param clazz
	 * @param id
	 * @throws ObjectRetrievalFailureException
	 */
	public void remove(Class clazz, Serializable id) throws ObjectRetrievalFailureException;
	
	/**
	 * 删除给定实体对象
	 * 
	 * @param entity
	 */
	public void remove(Object entity);
	
	/**
	 * 重新装入类对象(重新刷新缓存)
	 * 
	 * @param object
	 */
	public void reload(Object object);
	
	/**
	 * 检索给定查询条件的给定类对象集合
	 * 返回检索出的结果
	 * 
	 * @param clazz
	 * @param queryCondition
	 * @return 
	 */
	public List gets(Class clazz, QueryCondition queryCondition);
	
	/**
	 * 检索给定查询条件的给定类对象集合,提供回调接口,允许用户自己处理一些特殊的查询和排序
	 * 返回检索出的结果
	 * 
	 * @param clazz
	 * @param queryCondition
	 * @param callBack
	 * @return
	 */
	public List gets(Class clazz, QueryCondition queryCondition, QueryCallback callBack);
	
	/**
	 * 检索给定查询条件的给定类对象集合数量
	 * 
	 * @param clazz
	 * @param queryCondition
	 * @return
	 */
	public long count(Class clazz, QueryCondition queryCondition);
	
	/**
	 * 检索给定查询条件的给定类对象集合数量,提供回调接口,允许用户自己处理一些特殊的查询和排序
	 * 
	 * @param clazz
	 * @param queryCondition
	 * @param callBack
	 * @return
	 */
	public long count(Class clazz, QueryCondition queryCondition, QueryCallback callBack);
	
	/**
	 * 执行给定的HQL语句查询,返回查询结果集
	 * 
	 * @param hql
	 * @return
	 */
	public List executeFind(final String hql);
	
	/**
	 * 执行带参数的HQL语句查询,返回查询结果集
	 * 
	 * @param hql
	 * @param args
	 * @param types
	 * @return
	 */
	public List executeFind(final String hql, final Object[] args, final Type[] types);
	
	/**
	 * 执行给定的HQL语句查询,返回指定页号,指定每页条数的查询结果集
	 * 
	 * @param hql
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public List executeFind(final String hql, final int pageNo, final int pageSize);
	
	/**
	 * 执行带参数的HQL语句查询,返回指定页号,指定每页条数的查询结果集
	 * 
	 * @param hql
	 * @param args
	 * @param types
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public List executeFind(final String hql, final Object[] args, final Type[] types, final int pageNo, final int pageSize);
	
	/**
	 * 检索给定HQL查询条件的唯一查询结果对象,如果查询结果有多个,返回第一个查询对象
	 * 
	 * @param hql
	 * @return
	 */
	public Object findUniqueResult(final String hql);
	
	/**
	 * 检索带参数查询的给定HQL查询条件的唯一查询结果对象,如果查询结果有多个,返回第一个查询对象
	 * 
	 * @param hql
	 * @param args
	 * @param types
	 * @return
	 */
	public Object findUniqueResult(final String hql, final Object[] args, final Type[] types);
	
	/**
	 * 执行SQL语句,实现数据添加、删除、更新操作
	 * 
	 * @param sql
	 * @throws Exception
	 */
	public void executeSQLUpdate(final String sql) throws Exception;
	
	/**
	 * 执行带参数执行的SQL语句,实现数据添加、删除、更新操作
	 * 
	 * @param sql
	 * @param args
	 * @param types
	 * @throws Exception
	 */
	public void executeSQLUpdate(final String sql, final Object[] args, final String[] types) throws Exception;
	
	/**
	 * 给定SQL语句检索数据,返回检索的ResultSet
	 * 
	 * @param sql
	 * @return
	 */
	public ResultSet executeSQLQuery(String sql); 
	
	/**
	 * 给定SQL语句检索数据,并且指定返回结果的页号和每页记录数,返回检索的ResultSet
	 * 
	 * @param sql
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public ResultSet executeSQLQuery(String sql, final int pageNo, final int pageSize); 
	
	/**
	 * 给定SQL语句,减缩满足条件的数据条数
	 * 
	 * @param sql
	 * @return
	 */
	public long executeSQLCount(String sql); 
	
	/**
	 * 调用转换回调接口,实现ResultSet与给定对象集合的转换
	 * 
	 * @param rs
	 * @param callback
	 * @return
	 */
	public List ResultSet2List(ResultSet rs, TransitionCallback callback);
	
	/**
	 * 转换ResultSet的数据到Map集合中,Map的key对应ResultSet的字段名
	 * 
	 * @param rs
	 * @return
	 */
	public List ResultSet2List(ResultSet rs);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -