最近 学习 反射,又在 做一个 web 网站,为了 减少代码,代码重用写了这个dao,效率,没有 每一个表写一个 dao 快。
不知道,这样写是否有用,希望大家,多多给予 指正(代码中的 不足,以及对这个 dao的 用处)
//DAO.java
package com.dreaming.util;
import java.util.ArrayList;
import java.util.LinkedHashMap;
public interface DAO {
/**
* 获取总记录总数
*
* @param entityClass
* 实体类
* @return
*/
public long getCount(Class entityClass);
public long getCount(Class entityClass, String wherejpql,
Object[] queryParams);
/**
* 保存实体
*
* @param entity
*/
public void save(Object entity);
/**
* 更新
*
* @param obj
*/
public void update(Object entity,String[] primaryKeys);
public void update(Object entity,String primaryKey);
/**
* 删除单个
* @param
* @param entityClass
* @param primaryKeys
* @param entityid
*/
public void delete(Class entityClass, String primaryKeys,Object entityid);
public void delete(Class entityClass, String[] primaryKeys,Object[] entityid);
public void deletes(Class entityClass, String primaryKeys,Object[] entityids);
/**
* 删除数组
* @param
* @param entityClass
* @param primaryKeys 数据表 主键数组
* @param entityids 主键值
*/
public void deletes(Class entityClass, String[] primaryKeys,Object[][] entityids);
/**
* 得到实体
*
* @param
* @param entityClass
* 实体类
* @param entityId
* 实体id
* @return
*/
public T find(Class entityClass, String primaryKey,Object entity);
/**
* 获取分页数据
*
* @param
* @param entityClass
* 实体类
* @param firstindex
* 开始索引
* @param maxresult
* 需要获取的记录数
* @return
*/
public ArrayList getS