当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
java技巧:在Hibernate中用jdbc做存储过程
发布时间:2009/12/23 20:56:21 来源:城市学习网 编辑:海蓝

     package com.rxtc.bi.app.crm.rep.dao.impl;
  import java.sql.CallableStatement;
  import java.sql.Connection;
  import java.sql.ResultSet;
  import java.sql.SQLException;
  import javax.sql.DataSource;
  import org.springframework.orm.hibernate3.SessionFactoryUtils;
  import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
  /**
  *
  *

    * Title:在hibernate中用存储过程

  * 只是要绕过hibernate 调用jdbc API,当然事务还是由hibernate业管理:

 

  假如我们创建了以下存储过程:


 create or replace procedure batchUpdateCustomer(p_age in number) as
  begin
  update CUSTOMERS set AGE=AGE+1 where AGE> p_age;
  end;
 * Description: 程序功能的描述
  *
  * @version 1.00.00
  *
  * 修改记录
  * 修改后版本: 修改人: 修改日期: 修改内容:
  *
  */
  public class Text extends HibernateDaoSupport {
  public void proceduce(){
  try {
  DataSource ds= SessionFactoryUtils.getDataSource(getSessionFactory());
  Connection conn=ds.getConnection();
  String sql = "{call batchUpdateCustomer(?)}";
  CallableStatement cstmt = conn.prepareCall(sql);
  cstmt.setInt(1, 0);//把年龄参数设置为0;
  cstmt.executeUpdate();
  //ResultSet rs = cstmt.executeQuery(sql);若是查询的时候
  conn.commit();
  //rs.close();
  conn.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
  }
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved