java basedao 分页_BaseDao的编写:实现 增,删,改,查,分页这些公共方法的编写...

packagecom.learning.crm.base.impl;importjava.io.Serializable;importjava.lang.reflect.ParameterizedType;importjava.sql.SQLException;importjava.util.List;importorg.hibernate.HibernateException;importorg.hibernate.Query;importorg.hibernate.Session;importorg.springframework.orm.hibernate3.HibernateCallback;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;importcom.learning.crm.base.BaseDao;public class BaseDaoImpl extends HibernateDaoSupport implements BaseDao{private Class>clazz;public BaseDaoImpl() throwsInstantiationException, IllegalAccessException {//获得T

ParameterizedType parameterizedType= (ParameterizedType) this.getClass().getGenericSuperclass();//获得运行时的T类型

clazz = (Class>) parameterizedType.getActualTypeArguments()[0];

}

@Overridepublic List findAll(String condition,final Object[] objects, final int pageSize, final intcurrentPage) {final String hql="from "+clazz.getName()+" where 1=1 "+condition;return this.getHibernateTemplate().execute(new HibernateCallback>() {public List doInHibernate(Session session) throwsHibernateException, SQLException {

Query query=session.createQuery(hql);for (int i = 0; i < objects.length; i++) {

query.setParameter(i, objects[i]);

}

query.setFirstResult((currentPage-1)*pageSize);

query.setMaxResults(pageSize);returnquery.list();

}

});

}

@Overridepublic voidsave(T t) {this.getHibernateTemplate().save(t);

}

@Overridepublic voidupdate(T t) {this.getHibernateTemplate().update(t);

}

@Overridepublic ListfindAll() {return this.getHibernateTemplate().find(" from "+clazz.getName());

}

@OverridepublicT findById(Serializable id) {this.getHibernateTemplate().get(clazz, id);return null;

}

@Overridepublic voiddelete(T t) {this.getHibernateTemplate().delete(t);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值