hibernate基础DAO
来源:互联网 发布:中国大数据咨询公司 编辑:程序博客网 时间:2024/06/06 02:15
1、baseDao接口
package com.cando.dao;import java.io.Serializable;import java.util.List;/** * 基础数据库操作类 * * @author * */public interface BaseDao<T> {/** * 保存�?��对象 * * @param o * @return */public Serializable save(T o);/** * 删除�?��对象 * * @param o */public void delete(T o);/** * 更新�?��对象 * * @param o */public void update(T o);/** * 保存或更新对�? * * @param o */public void saveOrUpdate(T o);/** * 查询 * * @param hql * @return */public List<T> find(String hql);/** * 查询集合 * * @param hql * @param param * @return */public List<T> find(String hql, Object[] param);/** * 查询集合 * * @param hql * @param param * @return */public List<T> find(String hql, List<Object> param);/** * 查询集合(带分�? * * @param hql * @param param * @param page * 查询第几�? * @param rows * 每页显示几条记录 * @return */public List<T> find(String hql, Object[] param, Integer page, Integer rows);/** * 查询集合(带分�? * * @param hql * @param param * @param page * @param rows * @return */public List<T> find(String hql, List<Object> param, Integer page, Integer rows);/** * 获得�?��对象 * * @param c * 对象类型 * @param id * @return Object */public T get(Class<T> c, Serializable id);/** * 获得�?��对象 * * @param hql * @param param * @return Object */public T get(String hql, Object[] param);/** * 获得�?��对象 * * @param hql * @param param * @return */public T get(String hql, List<Object> param);/** * select count(*) from �? * * @param hql * @return */public Long count(String hql);/** * select count(*) from �? * * @param hql * @param param * @return */public Long count(String hql, Object[] param);/** * select count(*) from �? * * @param hql * @param param * @return */public Long count(String hql, List<Object> param);/** * 执行HQL语句 * * @param hql * @return 响应数目 */public Integer executeHql(String hql);/** * 执行HQL语句 * * @param hql * @param param * @return 响应数目 */public Integer executeHql(String hql, Object[] param);/** * 执行HQL语句 * * @param hql * @param param * @return */public Integer executeHql(String hql, List<Object> param);}2、baseDao实现
package com.cando.dao.impl;import java.io.Serializable;import java.util.List;import javax.annotation.Resource;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Repository;import com.cando.dao.BaseDao;@Repository("baseDao")@SuppressWarnings("all")public class BaseDaoImpl<T> implements BaseDao<T> {private SessionFactory sessionFactory;public SessionFactory getSessionFactory() {return sessionFactory;}@Autowiredpublic void setSessionFactory(SessionFactory sessionFactory) {this.sessionFactory = sessionFactory;}private Session getCurrentSession() {return sessionFactory.getCurrentSession();}public Serializable save(T o) {return this.getCurrentSession().save(o);}public void delete(T o) {this.getCurrentSession().delete(o);}public void update(T o) {this.getCurrentSession().update(o);}public void saveOrUpdate(T o) {this.getCurrentSession().saveOrUpdate(o);}public List<T> find(String hql) {return this.getCurrentSession().createQuery(hql).list();}public List<T> find(String hql, Object[] param) {Query q = this.getCurrentSession().createQuery(hql);if (param != null && param.length > 0) {for (int i = 0; i < param.length; i++) {q.setParameter(i, param[i]);}}return q.list();}public List<T> find(String hql, List<Object> param) {Query q = this.getCurrentSession().createQuery(hql);if (param != null && param.size() > 0) {for (int i = 0; i < param.size(); i++) {q.setParameter(i, param.get(i));}}return q.list();}public List<T> find(String hql, Object[] param, Integer page, Integer rows) {if (page == null || page < 1) {page = 1;}if (rows == null || rows < 1) {rows = 10;}Query q = this.getCurrentSession().createQuery(hql);if (param != null && param.length > 0) {for (int i = 0; i < param.length; i++) {q.setParameter(i, param[i]);}}return q.setFirstResult((page - 1) * rows).setMaxResults(rows).list();}public List<T> find(String hql, List<Object> param, Integer page, Integer rows) {if (page == null || page < 1) {page = 1;}if (rows == null || rows < 1) {rows = 10;}Query q = this.getCurrentSession().createQuery(hql);if (param != null && param.size() > 0) {for (int i = 0; i < param.size(); i++) {q.setParameter(i, param.get(i));}}return q.setFirstResult((page - 1) * rows).setMaxResults(rows).list();}public T get(Class<T> c, Serializable id) {return (T) this.getCurrentSession().get(c, id);}public T get(String hql, Object[] param) {List<T> l = this.find(hql, param);if (l != null && l.size() > 0) {return l.get(0);} else {return null;}}public T get(String hql, List<Object> param) {List<T> l = this.find(hql, param);if (l != null && l.size() > 0) {return l.get(0);} else {return null;}}public Long count(String hql) {return (Long) this.getCurrentSession().createQuery(hql).uniqueResult();}public Long count(String hql, Object[] param) {Query q = this.getCurrentSession().createQuery(hql);if (param != null && param.length > 0) {for (int i = 0; i < param.length; i++) {q.setParameter(i, param[i]);}}return (Long) q.uniqueResult();}public Long count(String hql, List<Object> param) {Query q = this.getCurrentSession().createQuery(hql);if (param != null && param.size() > 0) {for (int i = 0; i < param.size(); i++) {q.setParameter(i, param.get(i));}}return (Long) q.uniqueResult();}public Integer executeHql(String hql) {return this.getCurrentSession().createQuery(hql).executeUpdate();}public Integer executeHql(String hql, Object[] param) {Query q = this.getCurrentSession().createQuery(hql);if (param != null && param.length > 0) {for (int i = 0; i < param.length; i++) {q.setParameter(i, param[i]);}}return q.executeUpdate();}public Integer executeHql(String hql, List<Object> param) {Query q = this.getCurrentSession().createQuery(hql);if (param != null && param.size() > 0) {for (int i = 0; i < param.size(); i++) {q.setParameter(i, param.get(i));}}return q.executeUpdate();}}
阅读全文
1 0
- hibernate基础DAO
- hibernate 基础dao类实现
- java hibernate 基础dao basedao
- hibernate 基础dao类实现2
- Hibernate之DAO操作基础类
- hibernate Dao
- springmvc+hibernate泛型抽取基础Dao与Service
- struts+dao+hibernate模式
- Hibernate dao初学体会
- 泛型 Hibernate DAO 例
- Hibernate的DAO实现
- Hibernate泛型DAO
- Hibernate的通用dao
- Hibernate泛型DAO设计
- Junit4 测试 hibernate dao
- Hibernate dao 层
- 通用Hibernate-Dao
- Hibernate泛型DAO设计
- UVA10970 大块巧克力
- 滴滴_无序整数数组求第K大 && K小
- 计蒜客
- Linux SDIO总线驱动
- html输出转成word(转)
- hibernate基础DAO
- js自定义实现insertAfter()函数
- Oracle宣称Java将每半年发布一个版本
- 2017 ACM-ICPC 亚洲区乌鲁木齐赛网络赛 E
- Fetch
- 动手开发一个简易的 PHP for Git Server 第二章
- iap进入app后 按复位按钮进入iap无法再进app问题
- Go基础编程:Go语言介绍
- Oracle高级查询中rank,over partition函数的使用方法