パッケージ com.rxtc.bi.app.crm.rep.dao.impl;
インポートjava.sql.CallableStatement;
java.sql.Connectionをインポートします。
インポートjava.sql.ResultSet;
インポート java.sql.SQLException;
インポートjavax.sql.DataSource;
org.springframework.orm.hibernate3.SessionFactoryUtils をインポートします。
org.springframework.orm.hibernate3.support.HibernateDaoSupport をインポートします。
/**
*
* <前>
* タイトル: 休止状態でのストアド プロシージャの使用
* Hibernate をバイパスして jdbc API を呼び出すだけで済みます。 もちろん、トランザクションは Hibernate によって管理されます。
次のストアド プロシージャを作成するとします。
プロシージャbatchUpdateCustomer(p_age in number)を作成または置換します。
始める
update CUSTOMERS set AGE=AGE+1 where AGE> p_age;
終わり;
ストアド プロシージャには、顧客の年齢を表すパラメータ p_age があり、アプリケーションは次の方法でストアド プロシージャを呼び出すことができます。
* 説明: プログラムの機能の説明
* </pre>
* @author lichunmei [email protected]
* @バージョン1.00.00
* <前>
* レコードを変更する
※修正バージョン: 修正者: 修正日: 修正内容:
* </pre>
*/
public class Text extends HibernateDaoSupport {
パブリック void プロシージャ(){
試す {
DataSource ds= SessionFactoryUtils.getDataSource(getSessionFactory());
接続 conn=ds.getConnection();
文字列 sql = "{callbatchUpdateCustomer(?)}";
CallableStatement cstmt = conn.prepareCall(sql);
cstmt.setInt(1, 0);//年齢パラメータを 0 に設定します。
cstmt.executeUpdate();
//ResultSet rs = cstmt.executeQuery(sql);
conn.commit();
//rs.close();
conn.close();
} キャッチ (SQLException e) {
e.printStackTrace();
}
}
}
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/xixi_666/archive/2009/12/18/5029768.aspx
-