So - I guess that method is deprecated? So you are saying then to use either
queryForObject or queryForMap and set the values into my Object? My problem
with this is I need all the rows back not just one. I guess what I'm saying
here is what do I do when using queryForObject("getA", department);
department.setdeptNum(a);
department.setyear(b);
return (Department)
getSqlMapClientTemplate.queryForObject("getA",department);
My understanding is that I'm only going to get one Object which wouldn't be
all the rows, correct? If so, how do I do that so that I can have all the
results?

thanks.



macdoug1 wrote:
> 
> I'm using Spring framework with iBatis and I'm having an issue with using
> the sqlMapClient.queryForList(String arg, int arg1, int arg2). Anyway the
> Transfer Object is deptNum and year are defined as String's. Also the
> table defines dept_num and year as varchars.  Here's the resultMap:
> <resultMap id="result" class="com.talisen.domain.DeptBsDetail">
>     <result property="deptNum" column="dept_num" columnIndex="1"/>
>     <result property="year" column="year" columnIndex="2"/>
>     <result property="monthDate" column="month_date" columnIndex="3"/>
>     <result property="wopm1" column="wopm1" columnIndex="4"/>
>     <result property="wonum" column="wonum" columnIndex="5"/>
>     <result property="usageCost" column="usage_cost" columnIndex="6"/>
>     <result property="materialCost" column="material_cost"
> columnIndex="7"/>
>     <result property="laborCost" column="labor_cost" columnIndex="8"/>
>     <result property="serviceCost" column="serv_cost" columnIndex="9"/>
>     <result property="totalCost" column="total_cost" columnIndex="10"/>
>     <result property="wopm4" column="wopm4" columnIndex="11"/>
>     <result property="description" column="description" columnIndex="12"/>
>     <result property="ledgerCode" column="ledger_code" columnIndex="13"/>
>     <result property="yearmonth" column="yearmonth" columnIndex="14"/>
>   </resultMap>
> 
>  <select id="getDeptBudgetDetailbyDeptNumAndYear" resultMap="result">
>     select
>           dept_bs_detail_yymm.dept_num,
>           dept_bs_detail_yymm.year,
>           dept_bs_detail_yymm.month_date,
>           dept_bs_detail_yymm.wopm1,
>           dept_bs_detail_yymm.wonum,
>           dept_bs_detail_yymm.usage_cost,
>           dept_bs_detail_yymm.material_cost,
>           dept_bs_detail_yymm.labor_cost,
>           dept_bs_detail_yymm.serv_cost,
>           dept_bs_detail_yymm.total_cost,
>           dept_bs_detail_yymm.wopm4,
>           dept_bs_detail_yymm.description,
>           dept_bs_detail_yymm.ledger_code,
>           dept_bs_detail_yymm.yearmonth
>     from dept_bs_detail_yymm
>     where dept_bs_detail_yymm.dept_num = #deptNum#
>     and dept_bs_detail_yymm.year = #year#
>   </select>
> 
> Here's the full error I'm getting:
> com.ibatis.common.jdbc.exception.NestedSQLException:   
> --- The error occurred in com/talisen/dao/ibatis/maps/DeptBsDetail.xml.  
> --- The error occurred while applying a parameter map.  
> --- Check the getDeptBudgetDetailbyDeptNumAndYear-InlineParameterMap.  
> --- Check the parameter mapping for the 'year' property.  
> --- Cause: java.lang.ArrayIndexOutOfBoundsException: 1
>       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.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:126)
>       at
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:130)
>       at
> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:106)
>       at
> com.talisen.dao.ibatis.SqlMapDeptBsDetailDao.getDeptBudgetDetail(SqlMapDeptBsDetailDao.java:37)
>       at
> com.talisen.domain.logic.NestleDataFetcherImpl.getDeptBudgetDetail(NestleDataFetcherImpl.java:58)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
>       at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
>       at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
>       at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
>       at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
>       at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
>       at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
>       at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>       at $Proxy16.getDeptBudgetDetail(Unknown Source)
>       at
> com.talisen.domain.util.XMLBuilder.createDepartmentXML(XMLBuilder.java:254)
>       at com.talisen.domain.util.XMLBuilder.createXML(XMLBuilder.java:223)
>       at
> com.talisen.service.NestleService.handleRequestInternal(NestleService.java:143)
>       at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>       at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>       at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>       at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
>       at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
>       at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
>       at
> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
>       at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
>       at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
>       at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
>       at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>       at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>       at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
>       at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
>       at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>       at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>       at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
>       at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
>       at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
>       at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>       at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>       at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
>       at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
>       at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
>       at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
>       at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
>       at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
>       at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
>       at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
>       at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
>       at
> com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:361)
>       at
> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
>       at
> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
>       at
> com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameter(ParameterMap.java:153)
>       at
> com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap.setParameters(ParameterMap.java:126)
>       at
> com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:183)
>       at
> com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221)
>       at
> com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189)
> 
> Does anyone have any idea? I thought about using the sqlMapClientTemplate
> that spring provides but queryForList method in that case doesn't have
> anything where I can pass two parms to it, where I can get a list back.
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/The-error-occurred-while-applying-a-parameter-map.-tp19070022p19073115.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.

Reply via email to