Paket 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;
/**
*
* <pre>
* Titel: Gespeicherte Prozeduren im Ruhezustand verwenden
* Es muss nur der Ruhezustand umgangen und die JDBC-API aufgerufen werden. Natürlich wird die Transaktion weiterhin vom Ruhezustand verwaltet:
Angenommen, wir erstellen die folgende gespeicherte Prozedur:
Erstellen oder ersetzen Sie die Prozedur „batchUpdateCustomer(p_age in number)“ als
beginnen
update CUSTOMERS set AGE=AGE+1 where AGE> p_age;
Ende;
In der gespeicherten Prozedur gibt es einen Parameter p_age, der das Alter des Kunden angibt. Die Anwendung kann die gespeicherte Prozedur wie folgt aufrufen:
* Beschreibung: Beschreibung der Programmfunktionen
* </pre>
* @Autor lichunmei [email protected]
* @Version 1.00.00
* <pre>
* Datensätze ändern
* Geänderte Version: Modifikator: Änderungsdatum: Änderungsinhalt:
* </pre>
*/
Öffentlicher Klassentext erweitert HibernateDaoSupport {
öffentliches Nichtigkeitsverfahren(){
versuchen {
DataSource ds= SessionFactoryUtils.getDataSource(getSessionFactory());
Verbindung conn=ds.getConnection();
String sql = "{call batchUpdateCustomer(?)}";
CallableStatement cstmt = conn.prepareCall(sql);
cstmt.setInt(1, 0);//Setzen Sie den Altersparameter auf 0;
cstmt.executeUpdate();
//ResultSet rs = cstmt.executeQuery(sql); bei Abfrage
conn.commit();
//rs.close();
conn.close();
} Catch (SQLException e) {
e.printStackTrace();
}
}
}
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/xixi_666/archive/2009/12/18/5029768.aspx
-