igenericdao.java

来自「通过这个系统完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规」· Java 代码 · 共 90 行

JAVA
90
字号
package com.t53.crm4.common.dao;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * 
 * @author cliu
 * @version 1.0
 * @copyright (C) ACCP T53 2008
 * @date 2008-10-1
 * @desc 通用DAO类
 */
public interface IGenericDao<T, PK extends Serializable> {

	// 保存并返回主键
	public PK save(T instance);
    
	// 保存或更新
	public void saveOrUpdate(T instance);
	
	

	// 删除
	public void delete(T instance);

	// 删除所有
	public void deleteAll(Collection<T> instances);

	// 根据ID查询
	public T get(PK id);

	// 查询所有
	public List<T> findAll();

	// 根据参数进行查询
	public List<T> findByNamedParam(String queryString, String paramName,
			Object value);

	// 根据参数进行查询
	public List<T> findByNamedParam(String queryString, String[] paramNames,
			Object[] values);

	// 根据样例查询
	public List<T> findByExample(T instance);

	// 根据HQL语句进行查询
	public List<T> find(String queryString);

	// 根据HQL语句进行查询
	public List<T> find(String queryString, Object value);

	// 根据HQL语句进行查询
	public List<T> find(String queryString, Object[] values);
	
	
	public List findSQL(String sql);

	// 根据HQL语句进行update操作等
	public int bulkUpdate(String hql);

	// 根据HQL语句进行update操作等
	public int bulkUpdate(String hql, Object value);

	// 根据HQL语句进行update操作等
	public int bulkUpdate(String hql, Object[] values);

	// 判断是否包含
	public boolean contains(T instance);

	/**
	 * 根据pageBean中的设置来分页查询
	 * @param instance 查询的实体对象
	 * @param firstResult 从哪一条记录开始查询
	 * @param maxResult 每页多少条记录
	 * @return 当前查询页数的记录
	 */
	public List<T> findByPagination(final T instance, final int firstResult,
			final int maxResult);

	// 获得总记录数
	public int countByPagination(final T instance);

	public int countByHqlPagination(final String hql);

	public List<T> findByHqlPagination(final String hql, final int firstResult,
			final int maxResult);
}

⌨️ 快捷键说明

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