패키지 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;
org.springframework.orm.hibernate3.SessionFactoryUtils 가져오기;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
*
* <예비>
* 제목: 최대 절전 모드에서 저장 프로시저 사용
* 단지 hibernate를 우회하고 jdbc API를 호출하면 됩니다. 물론 트랜잭션은 여전히 hibernate에 의해 관리됩니다.
다음과 같은 저장 프로시저를 생성한다고 가정해 보겠습니다.
BatchUpdateCustomer(p_age in number) 프로시저를 다음과 같이 생성하거나 교체합니다.
시작하다
업데이트 CUSTOMERS는 AGE=AGE+1로 설정됩니다. 여기서 AGE> p_age;
끝;
저장 프로시저에는 고객의 나이를 나타내는 매개변수 p_age가 있습니다. 애플리케이션은 다음과 같은 방법으로 저장 프로시저를 호출할 수 있습니다.
* 설명 : 프로그램 기능 설명
* </pre>
* @author lichunmei [email protected]
* @버전 1.00.00
* <예비>
* 기록 수정
* 수정 버전: 수정자: 수정 날짜: 수정 내용:
* </pre>
*/
공개 클래스 텍스트는 HibernateDaoSupport {를 확장합니다.
공개 무효 절차(){
노력하다 {
데이터소스 ds= SessionFactoryUtils.getDataSource(getSessionFactory());
연결 conn=ds.getConnection();
String sql = "{batchUpdateCustomer(?) 호출}";
CallableStatement cstmt = conn.prepareCall(sql);
cstmt.setInt(1, 0);//age 매개변수를 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
-