【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. HDU 1180 诡异的楼梯【BFS/楼梯随时间变化】

    诡异的楼梯 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submis ...

  2. Xamarin XAML语言教程构建ControlTemplate控件模板

    Xamarin XAML语言教程构建ControlTemplate控件模板 控件模板ControlTemplate ControlTemplate是从Xamarin.Forms 2.1.0开始被引入的 ...

  3. [Contest20180405]抑制「超我」

    古明地恋(koishi)和计算器(calculator)是好朋友.恋恋有一个神奇的计算器,可以进行两个数在模$2^n$意义下的加法运算.计算器上有一个寄存器,一开始寄存器中的数为$0$,每当恋恋输入一 ...

  4. 【bzoj2142】【礼物】拓展Lucas定理+孙子定理

    (上不了p站我要死了,侵权度娘背锅) Description 一年一度的圣诞节快要来到了.每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物.不同的人物在小E 心目中的重要性不同,在小E心中分量 ...

  5. python3-关于GitHub的最基本操作

    阅读目录 介绍 什么是GitHub? 创建存储库 创建一个分支 做一个提交 打开拉取请求 合并拉取请求 一.介绍 Hello World项目是计算机编程历史悠久的传统.这是一个简单的练习,可以让你在学 ...

  6. python 使用mysql示例

    安装MySQL驱动 由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器.MySQL官方提供了mysql-connector-p ...

  7. 智能dns或CDN应用中,如何很好的解决DNS缓存问题? - 知乎

    智能dns或CDN应用中,如何很好的解决DNS缓存问题? - 知乎 LISP路由器

  8. javascript如何写一个for循环

    一个非常简单的for循环,也有不少的学问.假如,我们的目标是要遍历一个dom结点的所有孩子结点,然后打印结点的内容. 在javascript下,我刚学习的时间,我会这样写. for(var i = 0 ...

  9. golang构造单链表

    原文地址:http://www.niu12.com/article/47package main import "fmt" type ListNode struct { Value ...

  10. 启动、关闭tomcat脚本

    #[root@node1 ~]# vim /etc/init.d/tomcat #!/bin/bash # Init file for Tomcat server daemon # # chkconf ...