viernes, 28 de agosto de 2009

Spring JDBC - Store Procedure

IMPLEMENTACION BASICA DE STORE PROCEDURE CON Spring JDBC

CONFIGURACION DE DATASOURCE: OBTENER EL DATASOURCE DE WEBSHERE

jdbc.datasource.WebSphereDataSourceAdapter">

jndi.JndiObjectFactoryBean">


EN LA CLASE : LA INJECTION DEL DATASOURCE

private DataSource dataSource;
private JdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
this.jdbcTemplate = new JdbcTemplate(this.dataSource);
}

METODO GENERICO QUE EJECUTA STORE DE UPDATE,INSERT

private void registroArchivo(final List parameters,final String SP){
jdbcTemplate.execute(
new CallableStatementCreator(){
public CallableStatement createCallableStatement(Connection con)throws SQLException {
CallableStatement cs = con.prepareCall("{call "+SP+"}");
for (int i = 0; i <>
if(parameters.get(i) instanceof Integer){
cs.setInt((i+1), Integer.parseInt(parameters.get(i).toString()));
}else if(parameters.get(i) instanceof Double){
cs.setDouble((i+1), Double.parseDouble(parameters.get(i).toString()));
}else{
cs.setString((i+1), parameters.get(i).toString().trim());
}
logger.debug((i+1)+"\t"+parameters.get(i).toString().trim());
}
return cs;
}
}, new CallableStatementCallback (){
public Object doInCallableStatement(CallableStatement cs) throws SQLException{
cs.execute();
return null;
}
}
);
logger.debug("INSER OK");
}


METODO QUE CONFIGURA LOS PARAMETROS A ENVIAR AL METODO GENERICO.

public void updateFile(Integer idFile,Double size,Integer codUser,String descrip){
ArrayList parameters = new ArrayList();
parameters.add(idFile);
parameters.add(new Integer(0));
parameters.add(new Integer(0));
parameters.add("");
parameters.add(size);
parameters.add(descrip);
parameters.add("");
parameters.add(codUser);
parameters.add(new Integer(0));
parameters.add(new Integer(0));
parameters.add("");
parameters.add("");
parameters.add("");
registroArchivo(parameters,"SP_SUPERLINK_UPDATE_FILE(?,?,?,?,?,?,?,?,?,?,?,?,?)");
}

Implementacion basica y simple de como manejar Store Procedure con Spring JDBC