诚心恳求

解决方案 »

  1.   

    给你个列子
    public List<User> findUsers(final String name,final String loginName, final int status, final int rowPerPage, final int currentPage) throws Exception {
    HibernateTemplate template = getHibernateTemplate();
    return template.executeFind(new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
    Criteria criteria = session.createCriteria(User.class);
    if(name!=null&&name.length()>0){
    criteria.add(Restrictions.eq("name", name));
    }
    if(loginName!=null && loginName.length()>0){
    criteria.add(Restrictions.eq("loginname", loginName));
    }
    if(status<2 && status>-1){
    criteria.add(Restrictions.eq("status", status));
    }
    criteria.setMaxResults(rowPerPage);
    criteria.setFirstResult(rowPerPage*(currentPage-1));
    return criteria.list();
    }

    });
    }
      

  2.   

    分页吗有两个可以
    query的方法是  query.setMaxResults(pageSize).setFirstResult((pageNo-1)*pageSize).list();还有的是Criteria查询:
    getHibernateTemplate().findByCriteria(detach, (pageNo-1)*pageSize, pageSize);
      

  3.   

    我晕,你们看懂我的标题了吗,我问的是如何返回增删改的受影响行数,不是问分页,1楼已经答非所问了,楼上还GO ON。
    蹭分没这么蹭的行吗,当我不懂吗
      

  4.   

    呵呵!没看清楚嘛getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery("delete from student where age<10 ").executeUpdate()
      

  5.   

    好 谢谢楼上的朋友 不过这样写的话就要用到sql语句了,
    hibernate是面向对象的操作,避免了写sql语句
    如果不用写SQL语句的不知道应该怎么写
      

  6.   

    也是hql语句,不是sql如果不写hql,还没有出来吧?
    hql也是面向对象的!
      

  7.   

    session.createSQLQuery(sql).executeUpdate();方法或者你可以从session获取Connection连接直接jdbc找到可以获取受影响的行数、
      

  8.   


    session.createQuery(hql).executeUpdate()也可以获取到、