利用getHibernateTemplate实现简单的操作

package org.tarena.dao;

import java.sql.SQLException;
import java.util.List;

import javax.annotation.Resource;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
import org.tarena.entity.Cost;

@Repository
@Scope("prototype")
public class CostDaoImpl extends HibernateDaoSupport implements CostDao {

    //用注解才要这么写,否则不用
    @Resource//注入sf
    public void setMySessionFactory(SessionFactory sf){
        super.setSessionFactory(sf);
    }

    /**
     * 单个查找
     */
    public Cost findById(Integer costId) {
        //还有load方法,延迟加载
        Cost cost = getHibernateTemplate().get(Cost.class, costId);
        return cost;
    }

    /**
     * 新增
     */
    public void save(Cost cost) {
        getHibernateTemplate().save(cost);
    }

    /**
     * 删除
     */
    public void delete(Cost cost) {
        getHibernateTemplate().delete(cost);
    }

    /**
     * 更新
     */
    public void update(Cost cost) {
        getHibernateTemplate().update(cost);
    }

    /**
     * 所有查找
     */
    public List<Cost> findAll() {
        String hql = "from Cost";
        List<Cost> list = getHibernateTemplate().find(hql);
        return list;
    }

    /**
     * 统计个数
     */
    public int count() {
        String hql = "select count(*) from Cost";
        List list = getHibernateTemplate().find(hql);
        int count = Integer.parseInt(list.get(0).toString());
        return count;
    }

    /**
     * 分页查询
     */
    public List<Cost> findPage(final int page, final int pageSize) {
        List<Cost> list = (List<Cost>) getHibernateTemplate().execute(new HibernateCallback<Object>() {
            public Object doInHibernate(Session session)
                    throws HibernateException, SQLException {
                //在方法体中使用session对象
                String hql = "from Cost";
                Query query = session.createQuery(hql);

                int begin = (page - 1)*pageSize;
                query.setFirstResult(begin);
                query.setMaxResults(pageSize);
                return query.list();
            }
        });
        return list;
    }

}
时间: 2024-10-20 23:41:25

利用getHibernateTemplate实现简单的操作的相关文章

记录利用ettercap进行简单的arp欺骗和mitm攻击过程

方法均来自网络,本人只是记录一下自己操作的过程,大神请无视之- 攻击主机平台:kali-linux        被攻击主机:安卓手机192.168.1.107    (在同一局域网内) 1.利用ettercap进行arp欺骗: root权限下打开ettercap:ettercap -C (curses UI)             ettercap -G (GTK+ GUI) curses UI工作界面: GTK+ UI工作界面: 这里以GTK+ UI为例,打开ettercap之后,选择Sn

Android手机上,利用bat脚本模拟用户操作

---- 那么你就可以来看看这篇帖子了. 言归正传 利用bat脚本模拟用户操作,需要用到两点: ①就是adb命令了,adb命令可以用来模拟用户在手机上的操作 ②bat语言,就是批处理语言,主要用来进行逻辑处理,跟众多语言语法一样,批处理语言也包括for循环.if语句之类的语法: 一.adb命令 首先我们来介绍模拟用户在手机上操作的adb命令 input keyevent //发送键盘事件 用法说明: adb shell input keyevent "value" usage: inp

简单易操作的去水印工具有什么

水印我们都再熟悉不过的了,因为在网上能看到的图片和视频一般都会有水印的存在,如果想要当做自己的素材使用的话,就需要将这些水印去掉,那简单易操作的去水印工具请添加链接描述有什么呢? 1.一些有视频编辑基础的人肯定是没有这样的烦恼的,对于没什么基础的人的话,就是希望用简单的方法和工具能处理就最好了,今天要说的就是一个简单的电脑去水印工具,操作特别的简单:2.打开可以看到,是图片去水印的功能,我们要去视频的水印的话,就是要点击视频去水印就可以了:3.接下来导入要去水印的视频文件,点击页面下方的添加视频

SqlServer简单的操作XML以及SQl的 try catch等统一格式

1:SqlServer简单的操作XML: ALTER PROCEDURE [dbo].[SP_CRM_FranchiseeRecharge_Money] @Create_By VARCHAR(50), @xmlStr1 NVARCHAR(MAX) -写在这里面的为 传入的参数 AS BEGIN as begin后面的为自定义的变量 SET NOCOUNT ON; DECLARE @xml XML = @xmlStr1; sqlserver操作XML T-SQL提供了以下几个针对XML类型的查询函

ArcGIS利用DEM制作简单三维

利用DEM数据镶嵌后,矢量数据裁剪得到研究范围的DEM数据,在ARCScene中进行三维制作 ArcGIS利用DEM制作简单三维 点击学习我的系统教程哦

如何利用jQuery进行简单表单验证

如何利用jQuery进行简单表单验证:利用jQuery可以进行表单验证,当然有比较复杂的表单验证,这里就不介绍了,下面就简单介绍一下如何使用jQuery进行简单的表单验证,然后大家可以通过改造进行基本的表达验证了.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http

使用jxl操作之一: 实现对Excel简单读写操作

项目目录树 对象类UserObject UserObject.java package com.dlab.jxl; public class UserObject { private String userName; private String age; private String address; public String getUserName() { return userName; } public void setUserName(String userName) { this.

利用replaceChild制作简单的吞噬效果【jsDEMO】

[功能说明] 利用replaceChild制作简单的吞噬效果 [HTML代码说明] <ul class="list" id="list"> <li class="in">1</li> <li class="in">2</li> <li class="in">3</li> <li class="in"

android 简单文件操作

1.布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orient