【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;】 的作用的更多相关文章

  1. vue中template的作用及使用

     先来看一个需求:下图div用v-for做了列表循环,现在想要span也一起循环,应该怎么做? 有3种方法可以实现 ①:直接用v-for对span也循环一次(该方法虽然可以使用,但不要用这种方式,因为 ...

  2. private,public,protected 的作用

    public  修饰的变量和函数可以在类的内部和外部都可以访问 protected   修饰的变量和函数只可以在类的内部访问,如果该类派生出子类,那么在子类中该变量和函数也可以使用 private   ...

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

    配置web.xml <? xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&q ...

  4. SSH三大框架合辑的搭建步骤

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  5. 【Spring】Spring+struts2+Hibernate框架的搭建

    1.搭建过程 首先需要引入Spring.Struts2.Hibernate的开发包,已经数据库的驱动包. UserAction.java文件 package cn.shop.action; impor ...

  6. 【Spring】Spring框架如何集成Hibernate框架

    下面个整理一下hibernate和Spring框架的结合. 首先是引入hibernate框架的包.Spring框架的包.数据库驱动包. User.java文件 package cn.shop.bean ...

  7. Maven环境下搭建SSH框架

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Maven:3.3.9 Struts2:2.5.10 Spring:4.3.8.RELEASE Hibernate:5.1.7.Fina ...

  8. Maven环境下搭建SSH框架之Spring整合Hibernate

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Spring:4.3.8.RELEASE Hibernate:5.1.7.Final MySQL:5.7.17 注意:其他版本在某些特性 ...

  9. 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. STL模板整理 vector

    一.什么是标准模板库(STL)? 1.C++标准模板库与C++标准库的关系 C++标准模板库其实属于C++标准库的一部分,C++标准模板库主要是定义了标准模板的定义与声明,而这些模板主要都是 类模板, ...

  2. 【python】ipython与python的区别

    [python]ipython与python的区别 (2014-06-05 12:27:40) 转载▼   分类: Python http://mba.shengwushibie.com/itbook ...

  3. 洛谷 P1068 分数线划定【结构体排序】

    题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据计划录取人数的150%划 ...

  4. 循环节(BFS)

    循环节 时间限制: 1 Sec  内存限制: 64 MB提交: 56  解决: 16[提交][状态][讨论版] 题目描述 第一节是英语课.今天,老师又教了桐桐很多单词.桐桐发现所有单词都有循环节(大写 ...

  5. java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.XmlReaderContext.getResourceLoader()Lorg/springframework/core/io/ResourceLoader

    问题原因 在整合spring跟struts2是使用Maven,用到struts2-spring-plugin.jar,但是maven不但但加载了这个jar文件还有spring-beans:3.0.5. ...

  6. Spark1.4安装问题

    1)按照<大数据Spark企业级实战>第2章中的方法构建Spark集群,最后发现master可以正常启动,但是worker却都没有启动,原因是不能直接使用在slave模版文件 slaves ...

  7. ajax变量作用域的问题

    需求:使得一个变量在ajax内外都有作用域 方法:设置为同步请求 async:false

  8. angularjs+requirejs整合

    通过requirejs的配置让angularJS可以正常运行.以下是配置的步骤: 环境需求 require.js angular.js 有了这两文件,就可以进行下一步了,具体将文件放到哪个目录,可以跟 ...

  9. Swift开发经验——外部参数名

    一.什么是外部参数名? 浅显地说,外部参数名就是在调用一个方法时要在方法的参数前面加上一个特定的名字,目的是便于阅读代码,提高维护效率.   二.在最新的Xcode中,外部参数名的性质与用法如下 性质 ...

  10. Klaus Aschenbrenner--windbg

    http://www.sqlservercentral.com/blogs/aschenbrenner/?page=1