ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From macdoug1 <macdo...@swbell.net>
Subject Re: The error occurred while applying a parameter map.
Date Wed, 20 Aug 2008 16:31:28 GMT

One last question, is my select okay then? parms will map to the values that
I have in the where clause?

Thanks.



Jeff Butler-2 wrote:
> 
> No, the method is not deprecated.  You are just using the wrong method:
> 
> Map parms = new HashMap();
> parms.put("deptNum", 22);
> parms.put("year", 1980);
> List results = queryForList("getA", parms);
> 
> Jeff Butler
> 
> On Wed, Aug 20, 2008 at 11:24 AM, macdoug1 <macdoug1@swbell.net> wrote:
> 
>>
>> 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.
>>
>>
> 
> 

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


Mime
View raw message