Java - Procedimientos Almacenados

 
Vista:

Procedimientos Almacenados

Publicado por Eduardo (144 intervenciones) el 20/09/2010 11:26:45
Hola, intento ejecutar un procedimiento almacenado en java con Ibatis y no me funciona.
El procedimiento consta de dos parametros de entrada y la salida es una clase que está compuesta por todos los campos que muestra la consulta.

Los parámetros del procedimientos son de tipo BigInteger

<parameterMap id="parametros" class="java.util.HashMap">
<parameter property="origen" jdbcType="BIGINT" javaType="java.math.BigInteger" mode="IN"/>
<parameter property="destino" jdbcType="BIGINT" javaType="java.math.BigInteger" mode="IN"/>
</parameterMap>

Este es el procedimiento

<procedure id="getHorariosOrigenDestino" resultClass="Horarios" parameterMap="parametros">
{call HoraPorOrigenDestino (#origen#, #destino#)}
</procedure>

Por más que pruebo me sigue dando el mismo error.
Os pongo el error que me da.

Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0];
--- The error occurred in imprimirRutas/dao/ibatis/sql/horarios.xml.
--- The error occurred while applying a parameter map.
--- Check the parametros.
--- Check the parameter mapping for the 'origen' property.
--- Cause: java.lang.NullPointerException; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in imprimirRutas/dao/ibatis/sql/horarios.xml.
--- The error occurred while applying a parameter map.
--- Check the parametros.
--- Check the parameter mapping for the 'origen' property.
--- Cause: java.lang.NullPointerException
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:212)
at org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:249)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296)
at imprimirRutas.dao.ibatis.impl.HorariosDAOIbatisImpl.getHorariosOrigenDestino(HorariosDAOIbatisImpl.java:27)
at imprimirRutas.dao.ibatis.impl.HorariosDAOIbatisImpl.main(HorariosDAOIbatisImpl.java:43)
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in imprimirRutas/dao/ibatis/sql/horarios.xml.
--- The error occurred while applying a parameter map.
--- Check the parametros.
--- Check the parameter mapping for the 'origen' property.
--- Cause: java.lang.NullPointerException
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:204)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
at org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:298)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209)
... 4 more
Caused by: java.lang.NullPointerException
at com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameter(ParameterMap.java:166)
at com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameters(ParameterMap.java:126)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQueryProcedure(SqlExecutor.java:276)
at com.ibatis.sqlmap.engine.mapping.statement.ProcedureStatement.sqlExecuteQuery(ProcedureStatement.java:39)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189)
... 10 more

Un saludo y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Procedimientos Almacenados

Publicado por Robinson (1 intervención) el 18/12/2010 05:53:40
Amigo,
El mismo error me sucede en una aplicacion que tengo, desearia saber como solucionaste el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimientos Almacenados

Publicado por Eduardo (144 intervenciones) el 19/12/2010 23:08:35
Hola, no lo conseguí arreglar. Tuve que poner la consulta en un fichero ibatis y así me funcionó.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimientos Almacenados

Publicado por Aldo (1 intervención) el 17/11/2011 15:55:25
Buenos Días la solucion seria en vez de poner asi
<procedure id="getHorariosOrigenDestino" resultClass="Horarios" parameterMap="parametros">
{call HoraPorOrigenDestino (#origen#, #destino#)}
</procedure>

pon de esta forma

<procedure id="getHorariosOrigenDestino" resultClass="Horarios" parameterMap="parametros">
{call HoraPorOrigenDestino (?, ?)}
</procedure>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar