分享按钮
RSS订阅

基于hibernate封装的查询工具包1.0

大小:0.02MB| 标签: hibernate   查询工具   软件下载   源码下载  

基于hibernate编写的查询工具包,里面包含两种实现:

1.继承实现,dao接口继续BasicDAO接口,dao的实现继承BasicDAOHibernate,service继承BasicService即可,无需自己写方法

2.不需要写dao,servcie层,只需要在action中注入KeithService即可,在调用增删改查之前调用一下setEntityClass设置操作的对象即可

在spring中applicationContext.xml中的配置如下,使用的注解的方式

<!-- 扫描注解 -->
    <context:annotation-config/>
    <context:component-scan base-package="com.czy.keith"/>

 

方法接口如下:

public abstract interface KeithDAO{
    public abstract void setEntityClass(Class<?> entity);
    /**
     * 保存
     * @param entity
     * @return
     */
    public abstract Object save(Object entity);
    /**
     * 保存或者修改
     * @param entity
     */
    public abstract void saveOrUpdate(Object entity);
    /**
     * 修改
     * @param entity
     */
    public abstract void update(Object entity);
    /**
     * 修改
     * @param primary
     * @param where
     * @param param
     */
    public abstract void update(String primary,String where,Map<String,Object>param);
    /**
     * 通过对象删除
     * @param entity
     */
    public abstract void delete(Object entity);
    /**
     * 通过Id删除
     * @param Id
     */
    public abstract void deleteById(Serializable Id);
    /**
     * 根据参数删除
     * @param map
     */
    public abstract void deleteByPropertys(Map<String,Object>map);
    /**
     * 通过Id查询一个对象
     * @param Id 主键Id
     * @return
     */
    public abstract Object findById(Serializable Id);
    /**
     * 查询所有
     * @return list集合
     */
    public abstract List<Object> findAll(String order);
    /**
     * 分页查询
     * @param firstResult 开始数
     * @param maxResult 返回数据条数
     * @return
     */
    public abstract List<Object> findAll(int firstResult,int maxResult,String order);
    /**
     * 分页查询所有
     * @param firstResult 开始数
     * @param maxResult 返回数据条数
     * @param joinParam 关联对象参数
     * @return
     */
    public abstract List<Object> findAll(int firstResult,int maxResult,Map<String,Map<String,Object>> joinParam,String order);
    /**
     * 关联分页条件查询
     * @param param 主表参数条件
     * @param firstResult 开始数
     * @param maxResult 返回数据条数
     * @param joinParam 关联表参数
     * @return
     */
    public abstract List<Object> findByPropertys(Map<String,Object> param,int firstResult,int maxResult,Map<String,Map<String,Object>> joinParam,String order);
    /**
     * 分页条件查询
     * @param param 主表参数条件
     * @param firstResult 开始数
     * @param maxResult 返回数据条数
     * @return
     */
    public abstract List<Object> findByPropertys(Map<String,Object> param,int firstResult,int maxResult,String order);
    /**
     * 关联条件查询
     * @param param 主表参数条件
     * @param joinParam 关联表参数
     * @return
     */
    public abstract List<Object> findByPropertys(Map<String,Object> param,Map<String,Map<String,Object>> joinParam,String order);
    /**
     * 条件查询
     * @param param 主表参数条件
     * @return
     */
    public abstract List<Object> findByPropertys(Map<String,Object> param,String order);
    /**
     * 条件查询
     * @param paramName 属性
     * @param value 值
     * @return
     */
    public abstract List<Object> findByProperty(String paramName,Object value,String order);
    /**
     * 条件分页查询
     * @param paramName 属性
     * @param value 值
     * @param firstResult 开始数
     * @param maxResult 返回数据条数
     * @return
     */
    public abstract List<Object> findByProperty(String paramName,Object value,int firstResult,int maxResult,String order);
    /**
     * 关联条件分页查询
     * @param paramName 属性
     * @param value 值
     * @param firstResult 开始数
     * @param maxResult 返回数据条数
     * @param joinParam 关联对象参数
     * @return
     */
    public abstract List<Object> findByProperty(String paramName,Object value,int firstResult,int maxResult,Map<String,Map<String,Object>> joinParam,String order);
    /**
     * 条件关联查询
     * @param paramName 属性
     * @param value 值
     * @param joinParam 关联对象参数
     * @return
     */
    public abstract List<Object> findByProperty(String paramName,Object value,Map<String,Map<String,Object>> joinParam,String order);
    /**
     * 查询数据条数
     * @return
     */
    public abstract int count();
    /**
     * 关联对象查询总数
     * @param joinParam
     * @return
     */
    public abstract int count(Map<String,Map<String,Object>> joinParam);
    /**
     * 通过参数查询数据数
     * @param param 参数
     * @return
     */
    public abstract int countByPropertys(Map<String,Object> param);
    /**
     * 通过参数查询数据数
     * @param param 参数
     * @param joinParam 关联对象参数
     * @return
     */
    public abstract int countByPropertys(Map<String,Object> param,Map<String,Map<String,Object>> joinParam);
    /**
     * 条件查询
     * @param paramName
     * @param value
     * @return
     */
    public abstract int countByProperty(String paramName,Object value);
    /**
     * 条件查询
     * @param paramName
     * @param value
     * @param joinParam
     * @return
     */
    public abstract int countByProperty(String paramName,Object value,Map<String,Map<String,Object>> joinParam);
    /**
     * 对象匹配查询
     * @param entity
     * @return
     */
    public abstract List<Object> findByExample(Object entity,String order);
    /**
     * 对象模糊查询
     * @param entity
     * @return
     */
    public abstract List<Object> findByExampleLikeAnyWhere(Object entity,String order);
    /**
     * 分页查询
     * @param entity
     * @param firstResult
     * @param maxResult     //user role emp     role:r kl;l    r.emp:m  dsfd
     * @param paramMatchMode
     * @return
     */
    public abstract List<Object> findByExample(Object entity,int firstResult,int maxResult,MatchMode paramMatchMode,String order);

}
清逸成风博客:http://www.chenzongyong.cn

 


下载地址:
下载地址1