private HibernateTemplate template; 的作用

Posted CuriousZero

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了private HibernateTemplate template; 的作用相关的知识,希望对你有一定的参考价值。

【private HibernateTemplate template;】 的作用

这个是在spring中定义了一个bean,它是org.springframework.orm.hibernate3.HibernateTemplate的一个实例,
这个类是hibernate的模板类,里面有很多hibernate的常用操作方法,如常用CRUD增删改查,在我们的DAO中一般都会这么写一个。

package com.sxl.daoImpl;

import java.sql.SQLException;
import java.util.List;
import org.hibernate.Query;


import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;

import com.sun.istack.internal.FinalArrayList;
import com.sxl.dao.ComputRoomDao;
import com.sxl.pojos.TComputroom;

public class ComputRoomDaoImpl implements ComputRoomDao {
    
    private HibernateTemplate template;
    
    public HibernateTemplate getTemplate() {
        return template;
    }

    public void setTemplate(HibernateTemplate template) {
        this.template = template;
    }

    public List<TComputroom> findAll() {
        // TODO Auto-generated method stub
        List<TComputroom> ls=template.find("from TComputroom");
        return ls;
    }

    public List<TComputroom> findByCondition(TComputroom tc) {
        // TODO Auto-generated method stub
        return null;
    }

    public boolean addComputRoom(TComputroom tc) {
        // TODO Auto-generated method stub
        template.save(tc);
        return true;
    }

    public boolean updateComputRoom(TComputroom tc) {
        // TODO Auto-generated method stub
        //……
        
        
        return false;
    }

    public boolean delComputRoom(TComputroom tc) {
        // TODO Auto-generated method stub
        TComputroom tc2=template.load(TComputroom.class, tc.getCrId());
        template.delete(tc2);
        return true;
    }

    public List<TComputroom> getPage(final int page,final int rows) {
        // TODO Auto-generated method stub
        List<TComputroom> ls=template.execute(new HibernateCallback<List>() {

            public List doInHibernate(Session session)
                    throws HibernateException, SQLException {
                // TODO Auto-generated method stub
                Query query=session.createQuery("from TComputRoom order by cr_id");
                query.setFirstResult((page-1)*rows);
                query.setMaxResults(rows);                
                return query.list();
            }            
        });
        return ls;
    }

    public int getAllrows() {
        // TODO Auto-generated method stub
        List<TComputroom> ls=template.find("from TComputRoom");
        int allrows = ls.size();
        System.out.println(allrows);
        return allrows;
    }

    public List<TComputroom> pageTComputroom(final int page,final int rows,
            final String searchid,final String searchname) {
        // TODO Auto-generated method stub
        String HQL=null;
        if (!searchid.equals("")&&!searchname.equals("")) {
            HQL = "from TComputroom where cr_id =‘"+searchid+"‘ cr_name like ‘"+searchname+"%‘ order by cr_id";
        }
        if (!searchname.equals("")&&searchid.equals("")) {
            HQL="from TComputroom where cr_name like ‘%"+searchname+"%‘ order by cr_id";
        }
        if (!searchid.equals("")&&searchname.equals("")) {
            HQL="from TComputroom where cr_id=‘"+searchid+"‘ order by cr_id";
        }
        if (searchid.equals("")&&searchname.equals("")) {
            HQL="from TComputroom order by cr_id";            
        }
        final String h=HQL;
        List<TComputroom> ls=template.execute(new HibernateCallback<List>() {

            public List doInHibernate(Session session)
                    throws HibernateException, SQLException {
                // TODO Auto-generated method stub
                Query query=session.createQuery(h);
                query.setFirstResult((page-1)*rows);
                query.setMaxResults(rows);
                return query.list();
            }
            
        });
        
        return ls;
    }

    public int getAllrows(String searchid, String searchname) {
        // TODO Auto-generated method stub
        String HQL=null;
        if (!searchid.equals("")&&!searchname.equals("")) {
            HQL="from TComputroom where cr_id=‘"+searchid+"‘and cr_name like‘%"+searchname+"%‘ order by cr_id";
        }
        if (!searchname.equals("")&&searchid.equals("")) {
            HQL="from TComputroom where cr_name =‘"+searchname+"‘ order by cr_id";
        }
        if (searchname.equals("")&&!searchid.equals("")) {
            HQL="from TComputroom where cr_id =‘"+searchid+"‘ order by cr_id";
        }
        if (searchname.equals("")&&searchid.equals("")) {
            HQL="from TComputroom  order by cr_id";
        }
        List<TComputroom> ls=template.find(HQL);
        int allrows =ls.size();
        System.out.println(allrows);
         return allrows;
    }

}

 

 

 




以上是关于private HibernateTemplate template; 的作用的主要内容,如果未能解决你的问题,请参考以下文章

hibernateTemplate中的回调函数

HibernateTemplate类的使用

集成Spring后HibernateTemplate实现分页

HibernateTemplate的使用

HibernateTemplate

HibernateTemplate和HibernateDaoSupport(spring注入问题)