find(String hql,Object value);//一个查询条件
示例:this.gethibernateTemplate().find(“from User u where u.name=?”,“test”);
find(String hql,Object[] values);// 多个查询条件
示例:this.gethibernateTemplate().find(“from User u where u.name=? and u.pwd=?”,new String[]{“test”,“123”});
findByExample(Object exampleEntity,int firstResult, int maxResults)//分页使用
User user= new User(); u.setActive(“Active”);
List list=this.getHibernateTemplate().findByExample(user,firstResult,maxResults);
查询结果:状态为Active的用户(对象从0到20 计数)
findByNamedParam(String hql,String paramName,Object value); //一个查询条件
hql="from User u where u.name=:parName ";
paramName= “parName”;
value=“bb”
List list = this.getHibernateTemplate.findByNamedParam(hql,paramName,value);
查询结果:姓名为bb的用户
findByNamedParam(String queryString , String[] paramName , Object[] value) //多个查询条件
hql="from User u where u.name=:myname and u.pwd =:mypwd ";
String[] paramName= new String[]{“myname”,“mypwd”};
Sring[] value=new Strign[]{“bb”,“123”};
List list = this.getHibernateTemplate.findByNamedParam(hql,paramName,value);
查询结果:姓名为bb密码为123的用户
7.分页HQL示例
public List excuteHqlPage(final String hqlStr, final int startRow,final int rowCount) throws DaoException {
List<Object[]> list;
try {
list = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
org.hibernate.Query query = (org.hibernate.Query) session.createQuery(hqlStr)
query.setFirstResult(startRow)
query.setMaxResults(rowCount)
List list = query.list()
return list
} catch (Exception e) {
throw new DaoException(DaoException.ERRORCODE_EXCUTEHQL);
return list;
根据HQL/SQL 查询
public List queryByHql(final String hql, final Object[] prams,final String sql) {
return (List) getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
if(hql!=null && hql.length()>0){
Query query=session.createQuery(hql);
if(prams!=null && prams.length>0){
for(int i=0;i<prams.length;i++){
query.setParameter(i,prams[i]);
return query.list();
}else{
SQLQuery sqlquery=session.createSQLQuery(sql);
return sqlquery.list();
保存/更新
public String saveOrUpdateObject(ISuperVO vo) throws DaoException {
try {
String id = null
if (StringUtil.isEmpty(vo.getPid())) {
getHibernateTemplate().save(vo)
} else {
getHibernateTemplate().merge(vo)
id = vo.getPid()
return id
} catch (Exception e) {
e.printStackTrace()
getHibernateTemplate().delete(vo); //删除
根据条件删除
public Integer deleteObjectsByWherePart(final Class voClass,final String wherePart, final Object[] parmaters)throws DaoException {
try {
Integer count = (Integer) getHibernateTemplate().execute( new HibernateCallback() {
public Object doInHibernate(Session session)throws HibernateException, SQLException {
Integer coun = null
String hql = "delete from " + voClass.getName()+ " where 1=1 "
if (wherePart != null && wherePart.trim().length() > 0) {
hql = hql + " and " + wherePart
Query query = session.createQuery(hql)
Object obj = null
if (parmaters != null && parmaters.length > 0) {
for (int i = 0
obj = parmaters[i]
query.setParameter(i, obj)
coun = query.executeUpdate()
return coun
return count
} catch (Exception e) {
e.printStackTrace();
18734877696
android
粉丝