Hibernate-BaseDaoI

作者: guodd369 | 来源:发表于2017-11-20 14:01 被阅读9次
网络选图
package cn.hacz.edu.dao;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.List;
import java.util.Map;

import org.hibernate.Session;

import cn.hacz.edu.entity.base.BaseEntity;
import cn.hacz.edu.entity.base.PageHelper;

public interface BaseDaoI<T extends BaseEntity> {
    Session getCurrentSession();

    /**
     * @Title save
     * @param o对象
     * @date 日期:2017年11月3日 时间:下午9:11:16
     * @return Serializable 对象的ID
     * @Description 功能:保存对象
     */
    Serializable save(T o);

    void saveOrUpdate(T o);
    void merge(T o);

    /**
     * @Title delete
     * @param o对象
     * @date 日期:2017年11月3日 时间:下午9:13:02
     * @return void
     * @Description 功能:删除一个对象
     */
    void delete(T o);

    /**
     * @Title update
     * @param o对象
     * @date 日期:2017年11月3日 时间:下午9:14:54
     * @return void
     * @Description 功能:更新一个对象
     */
    void update(T o);

    /**
     * @Title get
     * @param c类型
     * @param id
     * @date 日期:2017年11月3日 时间:下午9:15:47
     * @return T要获得的对象
     * @Description 功能:通过主键获得对象
     */
    T get(Class<T> c, Serializable id);

    /**
     * @Title get
     * @param hqlHQL语句
     * @param params参数
     * @date 日期:2017年11月3日 时间:下午9:16:50
     * @return T对象
     * @Description 功能:通过HQL语句获取一个对象
     */
    T get(String hql);

    T get(String hql, Object... params);

    T get(String hql, Map<String, Object> params);

    /**
     * @Title find
     * @param hqlHQL语句
     * @param params参数
     * @param ph(page开始页数;rows每页记录数)
     * @date 日期:2017年11月3日 时间:下午9:18:15
     * @return List<T>
     * @Description 功能:通过HQL获得一个集合
     */

    List<T> find(String hql);

    List<T> find(String hql, PageHelper ph);

    List<T> find(String hql, Object... params);

    List<T> find(String hql, Map<String, Object> params);

    List<T> find(String hql, Map<String, Object> params, PageHelper ph);

    /**
     * @Title count
     * @param hqlHQL语句
     * @param params参数
     * @date 日期:2017年11月3日 时间:下午9:21:05
     * @return Long记录数
     * @Description 功能:统计
     */
    Long count(String hql);

    Long count(String hql, Object... params);

    Long count(String hql, Map<String, Object> params);

    /**
     * @Title execute
     * @param hqlHQL语句
     * @param params参数
     * @date 日期:2017年11月3日 时间:下午9:22:19
     * @return int影响的结果数目
     * @Description 功能:执行HQL语句
     */
    int execute(String hql);

    int execute(String hql, Object... params);

    int execute(String hql, Map<String, Object> params);

    /**
     * @Title findBySql
     * @param sqlSQL语句
     * @param params
     * @param ph(page开始页数;rows每页记录数)
     * @date 日期:2017年11月3日 时间:下午9:23:53
     * @return List<?>
     * @Description 功能:通过SQL查询
     */

    List<?> findBySql(String sql);

    List<?> findBySql(String sql, PageHelper ph);

    List<?> findBySql(String sql, List<Object> params);

    List<?> findBySql(String sql, Map<String, Object> params);

    List<?> findBySql(String sql, Map<String, Object> params, PageHelper ph);

    /**
     * @Title countBySql
     * @param sqlSQL语句
     * @param params
     * @date 日期:2017年11月3日 时间:下午9:25:07
     * @return BigInteger数目
     * @Description 功能:统计
     */

    BigInteger countBySql(String sql);

    BigInteger countBySql(String sql, Map<String, Object> params);

    /**
     * @Title executeSql
     * @param sql
     * @param params
     * @return
     * @date 日期:2017年11月3日 时间:下午9:25:58
     * @return int
     * @Description 功能:执行SQL语句
     */

    int executeSql(String sql);

    int executeSql(String sql, Map<String, Object> params);
}

相关文章

网友评论

    本文标题:Hibernate-BaseDaoI

    本文链接:https://www.haomeiwen.com/subject/ridvvxtx.html