paquete com.rxtc.bi.app.crm.rep.dao.impl;
importar java.sql.CallableStatement;
importar java.sql.Conexión;
importar java.sql.ResultSet;
importar java.sql.SQLException;
importar javax.sql.DataSource;
importar org.springframework.orm.hibernate3.SessionFactoryUtils;
importar org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
*
* <pre>
* Título: Uso de procedimientos almacenados en hibernación
* Solo necesita omitir la hibernación y llamar a la API jdbc. Por supuesto, la transacción aún la administra hibernación:
Supongamos que creamos el siguiente procedimiento almacenado:
crear o reemplazar el procedimiento batchUpdateCustomer (p_age en número) como
comenzar
actualizar CLIENTES establezca EDAD=EDAD+1 donde EDAD> p_edad;
fin;
Hay un parámetro p_age en el procedimiento almacenado, que representa la edad del cliente. La aplicación puede llamar al procedimiento almacenado de la siguiente manera:
* Descripción: Descripción de las funciones del programa.
* </pre>
* @autor lichunmei [email protected]
* @versión 1.00.00
* <pre>
* Modificar registros
* Versión modificada: Modificador: Fecha de modificación: Contenido de la modificación:
* </pre>
*/
El texto de clase pública extiende HibernateDaoSupport {
procedimiento de anulación pública(){
intentar {
DataSource ds= SessionFactoryUtils.getDataSource(getSessionFactory());
Conexión conexión=ds.getConnection();
String sql = "{llamar a BatchUpdateCustomer(?)}";
CallableStatement cstmt = conn.prepareCall(sql);
cstmt.setInt(1, 0);//Establezca el parámetro de edad en 0;
cstmt.executeUpdate();
//ResultSet rs = cstmt.executeQuery(sql);
conexión.commit();
//rs.close();
conexión.close();
} captura (SQLException e) {
e.printStackTrace();
}
}
}
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/xixi_666/archive/2009/12/18/5029768.aspx.
-