java dao类_通用的Java DAO类

import java.io.Serializable;

import java.util.Date;

import java.util.List;

import org.hibernate.Criteria;

import org.hibernate.HibernateException;

import org.hibernate.Query;

import org.hibernate.Session;

import org.hibernate.criterion.MatchMode;

import org.hibernate.criterion.Restrictions;

import org.jb.common.dao.CommonDAO;

import org.jb.common.util.PageResult;

import org.jb.y272.team0.entity.SalaryStandard;

import org.springframework.orm.hibernate3.HibernateCallback;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class CommonDAOHibImpl extends HibernateDaoSupport implements CommonDAO {

/*

* (非 Javadoc)

*

* @see y2ssh.dlc.chp2.dao.CommonDAO#add(java.lang.Object)

*/

public Serializable add(Object o) {

Serializable ret = super.getHibernateTemplate().save(o);

return ret;

}

/*

* (非 Javadoc)

*

* @see y2ssh.dlc.chp2.dao.CommonDAO#get(java.lang.Class,

* java.io.Serializable)

*/

public Object get(Class clazz, Serializable id) {

Object ret = super.getHibernateTemplate().get(clazz, id);

return ret;

}

/*

* (非 Javadoc)

*

* @see y2ssh.dlc.chp2.dao.CommonDAO#del(java.lang.Class,

* java.io.Serializable)

*/

public void del(Class clazz, Serializable id) {

super.getHibernateTemplate().delete(this.get(clazz, id));

}

/*

* (非 Javadoc)

*

* @see y2ssh.dlc.chp2.dao.CommonDAO#update(java.lang.Object)

*/

public void update(Object o) {

super.getHibernateTemplate().update(o);

}

/*

* (非 Javadoc)

*

* @see y2ssh.dlc.chp2.dao.CommonDAO#search(java.lang.String)

*/

public List list(String hql) {

List ret = super.getHibernateTemplate().find(hql);

return ret;

}

public List listOrderBy(String hql)

{

List ret = super.getHibernateTemplate().find(hql);

return ret;

}

/*

* (非 Javadoc)

*

* @see org.jb.common.dao.CommonDAO#listByPage(java.lang.String,

* org.jb.common.util.PageResult)

*/

@SuppressWarnings("unchecked")

public void listByPage(String hql, PageResult pageResult) {

if (null == hql) {

return;

}

Query query = this.getSession().createQuery(hql);

query.setFirstResult(pageResult.getFirstRec());

query.setMaxResults(pageResult.getPageSize());

List ret = query.list();

pageResult.setList(ret);

String queryString = "";

if (hql.toUpperCase().indexOf("SELECT") != -1) {

int i = query.getQueryString().toUpperCase().indexOf("FROM");

queryString = "Select count(*) " + hql.substring(i, hql.length());

} else {

queryString = "Select count(*) " + hql;

}

// 去掉ORDER BY 的部分

int j = queryString.toUpperCase().lastIndexOf("ORDER");

if (j != -1) {

queryString = queryString.substring(0, j);

}

Query cquery = this.getSession().createQuery(queryString);

cquery.setCacheable(true);

if(cquery.iterate().hasNext()){

int recTotal = ((Integer) cquery.iterate().next()).intValue();

pageResult.setRecTotal(recTotal);

}

}

@SuppressWarnings("unchecked")

public List getStandards(final Date beginTime,

final Date endTime, final SalaryStandard standard) {

List list = super.getHibernateTemplate().executeFind(

new HibernateCallback() {

public Object doInHibernate(Session s)

throws HibernateException {

Criteria c = s.createCriteria(SalaryStandard.class);

if (standard.getStandardId() != null && standard.getStandardId()!="") {

c.add(Restrictions.like("standardId", standard

.getStandardId(), MatchMode.ANYWHERE));

}

if (standard.getDesigner() != null && standard.getDesigner()!="") {

c.add(Restrictions.like("designer", standard

.getDesigner(), MatchMode.ANYWHERE));

}

if (beginTime != null) {

c.add(Restrictions.ge("registTime", beginTime));

}

if (endTime != null) {

c.add(Restrictions.le("registTime", endTime));

}

return c.list();

}

});

return list;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值