【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;
    }

}
 
时间: 2024-10-08 10:44:45

【private HibernateTemplate template;】 的作用的相关文章

Spring4+SpringMVC+Hibernate4整合入门与实例

配置web.xml <? xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns

hibernate实现分表后获取insert自增ID方法。

#第一种基于原生的JDBC的方式实现 private Integer insert(POJO entity, String table) throws SQLException { String insertSQL = "INSERT INTO " + table + " (XXXX)VALUES(?,?,?,?,?,?,?,?)"; DataSource dataSource = SessionFactoryUtils.getDataSource(getHiber

Eclipse下面的Maven管理的SSH框架整合(Struts,Spring,Hibernate)

搭建的环境:eclispe下面的maven web项目 Struts:    2.5.10 Spring:    4.3.8 Hibernate:   5.1.7 .Final MySQL:   5.1.30 先来详细的讲解一下SSH框架的整合,在这里是将struts2.0的Action的创建工作由Spring进行统一管理,主要是利用了Spring 控制反转和依赖注入的功能. 而将hibernate.cfg.xml整合Spring的配置文件中.而且利用Spring的面向切向功能对Hibernat

使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)

前言 SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层(实体层). Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持.Spring一方面作为一个轻量级的IoC容器,负责查找.定位.创建和管理对象及

Spring+struts2+Hibernate框架的搭建

1.搭建过程 首先需要引入Spring.Struts2.Hibernate的开发包,已经数据库的驱动包. UserAction.java文件 package cn.shop.action; import java.io.IOException; import java.util.List; import javax.annotation.Resource; import org.apache.struts2.convention.annotation.Action; import org.apa

HibernateTemplate 的常见用法

HibernateTemplate 提供了非常多的常用方法来完成基本的操作,比如增加.删除.修改及查询等操作,Spring 2.0 更增加对命名 SQL 查询的支持,也增加对分页的支持.大部分情况下,使用Hibernate 的常规用法,就可完成大多数DAO对象的 CRUD操作. 下面是 HibernateTemplate的常用方法.     delete(Object entity): 删除指定持久化实例. deleteAll(Collection entities): 删除集合内全部持久化类实

Template模式详解--设计模式(12)

Template模式来源:    在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的.Template提供了这种情况的一个实现框架. Template模式作用: Template模式又叫模板方法模式,在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情冴下,重新定义算法中的某些步骤. 我们使用冲泡咖啡和冲泡茶的例子 加工流程: 咖啡冲

Spring——HibernateTemplate、hibernateDaoTemplate

Template (1)spring在整合Hibernate进行事务管理的时候,会出现一些固定的代码,例如UserDAOImpl的save()方法中有如下代码: Session s = null; try { s = sessionFactory.openSession(); s.getTransaction().begin(); s.save(user); s.getTransaction().commit(); } catch (HibernateException e) { e.print

t4 template multi file output

1.Manager.ttinclude <#@ assembly name="System.Core"#> <#@ assembly name="System.Data.Linq"#> <#@ assembly name="EnvDTE"#> <#@ assembly name="System.Xml"#> <#@ assembly name="System.Xm