相关文章推荐
安静的皮蛋  ·  Visual ...·  1 周前    · 
活泼的弓箭  ·  将 Joda LocalDateTime ...·  1 年前    · 
打篮球的小笼包  ·  android - MapBox ...·  1 年前    · 

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; i < parmaters.length; i++) {
             obj = parmaters[i];
            query.setParameter(i, obj);
      coun = query.executeUpdate();
      return coun;
    return count;
    

    } catch (Exception e) {

    e.printStackTrace();

    18734877696 android
    粉丝