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.
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


0