读书人

基于hibernate的通用、”万能“Dao的设

发布时间: 2012-10-28 09:54:44 作者: rapoo

基于hibernate的通用、”万能“Dao的设计(四)
万能Dao,应该说绝大多数情况下,它就能提供足够多的操作数据库的功能。

@Repositorypublic class UniversalDao extends BaseDao {     /**     *      * @param o 保存实体对象     * @return 主键     */    public Serializable save(Object o) {        return this.getSession().save(o);    }    /**     * 新增或者更新     *      * @param o     */    public void saveOrUpdate(Object o) {        this.getSession().saveOrUpdate(o);    }    /**     * 更新     *      * @param o     */    public void update(Object o) {        this.getSession().update(o);    }    /**     * 更新     *      * @param o     */    public void delete(Object o) {        this.getSession().delete(o);    }    /**     * 查询对象,利用上缓存,实际上调用load     *      * @param clazz     * @param id     * @return     */    public Object get(Class<?> clazz, Serializable id) {              return this.getSession().get(clazz,id);    }    /**     * 加载对象     *      * @param clazz     * @param id     * @return     */    public Object load(Class<?> clazz, Serializable id) {                return this.getSession().load(clazz,id);    }    /**     * 返回所以对象实例     *      * @param clazz     * @return     */    public List<?> getAll(Class<?> clazz) {               return this.getBaseCriteria(clazz).list();    }    /**     * 删除     *      * @param clazz     * @param id     */    public void delete(Class<?> clazz, Serializable id) {        this.getSession().delete(this.get(clazz, id));    }    /**     * 逐个删除,保证缓存与数据库的统一     *      * @param ids 主键值,     * @return     */       public int deleteAll(Class<?> clazz, Serializable... ids) {        for (Serializable id : ids) {            delete(clazz, id);        }        return ids.length;    }  }

读书人网 >软件架构设计

热点推荐