Nope. The framework will close it for you.
On Fri, 18 Feb 2005 17:36:31 -0000, Yee, Richard K, CTR,, DMDCWEST <[EMAIL PROTECTED]> wrote: > When using the JdbcDaoTemplate, should I be closing the connection that I > get from the DaoManager using the getConnection() method in a finally clause > my dao methods? I already plan to close any statements, result sets, etc. > that I create. > > Thanks, > > Richard > > -----Original Message----- > From: Brandon Goodin [mailto:[EMAIL PROTECTED] > Sent: Friday, February 18, 2005 8:51 AM > To: [email protected] > Subject: Re: [ResultMap] Can't get primitive types to work > > No problem Mike. These things are good to know. However, I'm still curious > as to why it failed. If you ever figure it out. Please post it here and we > could possibly add it to the wiki for future reference. > > Branon > > On Fri, 18 Feb 2005 11:48:09 -0500, Mike Zatko <[EMAIL PROTECTED]> wrote: > > DB2 7 blows. I went and tried the same code on a workstation with a > > DB2 8 client and it worked. Sorry for wasting your time. > > > > Brandon Goodin wrote: > > > > >what is the driver and database that you are using? > > > > > > > > >On Fri, 18 Feb 2005 11:26:35 -0500, Mike Zatko <[EMAIL PROTECTED]> > > >wrote: > > > > > > > > >>2.0.9 > > >> > > >>Brandon Goodin wrote: > > >> > > >> > > >> > > >>>what version of ibatis are you using? > > >>> > > >>> > > >>>On Fri, 18 Feb 2005 11:16:23 -0500, Mike Zatko <[EMAIL PROTECTED]> > > >>>wrote: > > >>> > > >>> > > >>> > > >>> > > >>>>*I tried it and it does not work. My error is as follows:* > > >>>> > > >>>>ResultSetLogProxy.java|41|DEBUG|2005-02-18 > > >>>>11:13:16,756|3766|{rset-100020} ResultSet > > >>>>PromotionFacadeSqlMapsImpl.java|71|ERROR|2005-02-18 > > >>>>11:13:16,772|3782| > > >>>>--- The error occurred in configs/sqlmaps/promotions-sql.xml. > > >>>>--- The error occurred while applying a result map. > > >>>>--- Check the adjustment.getPromotionActionMap. > > >>>>--- The error happened while setting a property on the result object. > > >>>>--- Cause: com.ibatis.common.beans.ProbeException: Could not set > > >>>>property 'numberOfItems' for > > >>>>com.boscovs.commerce.promotion.dao.ActionDAO. Cause: > > >>>>java.lang.IllegalArgumentException > > >>>>Caused by: java.lang.IllegalArgumentException > > >>>>com.ibatis.common.jdbc.exception.NestedSQLException: > > >>>>--- The error occurred in configs/sqlmaps/promotions-sql.xml. > > >>>>--- The error occurred while applying a result map. > > >>>>--- Check the adjustment.getPromotionActionMap. > > >>>>--- The error happened while setting a property on the result object. > > >>>>--- Cause: com.ibatis.common.beans.ProbeException: Could not set > > >>>>property 'numberOfItems' for > > >>>>com.boscovs.commerce.promotion.dao.ActionDAO. Cause: > > >>>>java.lang.IllegalArgumentException > > >>>>Caused by: java.lang.IllegalArgumentException > > >>>>Caused by: com.ibatis.common.beans.ProbeException: Could not set > > >>>>property 'numberOfItems' for > > >>>>com.boscovs.commerce.promotion.dao.ActionDAO. Cause: > > >>>>java.lang.IllegalArgumentException > > >>>>Caused by: java.lang.IllegalArgumentException > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQuery > WithCallback(GeneralStatement.java:183) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQuery > ForObject(GeneralStatement.java:99) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlM > apExecutorDelegate.java:561) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlM > apExecutorDelegate.java:536) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSes > sionImpl.java:97) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClie > ntImpl.java:69) > > >>>> at > > > >>>>com.boscovs.commerce.promotion.PromotionFacadeSqlMapsImpl.applyPromotion > s(PromotionFacadeSqlMapsImpl.java:61) > > >>>> at test.PromotionTest.execute(PromotionTest.java:106) > > >>>> at test.PromotionTest.main(PromotionTest.java:171) > > >>>>Caused by: com.ibatis.common.beans.ProbeException: Could not set > > >>>>property 'numberOfItems' for > > >>>>com.boscovs.commerce.promotion.dao.ActionDAO. Cause: > > >>>>java.lang.IllegalArgumentException > > >>>>Caused by: java.lang.IllegalArgumentException > > >>>> at > > > >>>>com.ibatis.common.beans.JavaBeanProbe.setProperty(JavaBeanProbe.java:309 > ) > > >>>> at > > > >>>>com.ibatis.common.beans.JavaBeanProbe.setObject(JavaBeanProbe.java:229) > > >>>> at > com.ibatis.common.beans.GenericProbe.setObject(GenericProbe.java:73) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.accessplan.ComplexAccessPlan.setProperties(Comp > lexAccessPlan.java:34) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.exchange.JavaBeanDataExchange.setData(JavaBeanD > ataExchange.java:112) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.mapping.result.BasicResultMap.setResultObjectVa > lues(BasicResultMap.java:296) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.mapping.statement.RowHandlerCallback.handleResu > ltObject(RowHandlerCallback.java:60) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor > .java:355) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor. > java:179) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQu > ery(GeneralStatement.java:200) > > >>>> at > > > >>>>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQuery > WithCallback(GeneralStatement.java:168) > > >>>> ... 8 more > > >>>>Caused by: java.lang.IllegalArgumentException > > >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > >>>> at > > > >>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav > a:39) > > >>>> at > > > >>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor > Impl.java:25) > > >>>> at java.lang.reflect.Method.invoke(Method.java:585) > > >>>> at > > > >>>>com.ibatis.common.beans.JavaBeanProbe.setProperty(JavaBeanProbe.java:298 > ) > > >>>> ... 18 more > > >>>> > > >>>>*Is it possible that its my database that is the problem? I am > > >>>>using DB2 > > >>>>V7.2.* > > >>>> > > >>>> > > >>>>Brandon Goodin wrote: > > >>>> > > >>>> > > >>>> > > >>>> > > >>>> > > >>>>>I would recommend that you specify the jdbcType in your result. > > >>>>> > > >>>>><result property="numberOfItems" column="min_item_quantity" > > >>>>>jdbcType="INTEGER" javaType="int"/> > > >>>>> > > >>>>>On Fri, 18 Feb 2005 06:55:01 -0800 (PST), Karen Koch > > >>>>><[EMAIL PROTECTED]> wrote: > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>>>Are you perhaps missing the parameterClass arg on the statement > > >>>>>>itself? > > >>>>>> > > >>>>>>--- Mike Zatko <[EMAIL PROTECTED]> wrote: > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>>>/*I have a table as follows:*/ > > >>>>>>> > > >>>>>>>sqltype sqllen sqlname.data > sqlname.length > > >>>>>>>-------------------- ------ ------------------------------ > > >>>>>>>-------------- > > >>>>>>>492 BIGINT 8 > > >>>>>>>PROMO_ACTION_ID 15 > > >>>>>>>492 BIGINT 8 > > >>>>>>>PROMOTION_ID 12 > > >>>>>>>452 CHARACTER 1 > > >>>>>>>ACTIONTYPE 10 > > >>>>>>>497 INTEGER 4 > > >>>>>>>MIN_ITEM_QUANTITY 17 > > >>>>>>>485 DECIMAL 20, 5 > > >>>>>>>MIN_SINGLE_ITEM_VALUE 21 > > >>>>>>>485 DECIMAL 20, 5 > > >>>>>>>MIN_TOTAL_ITEM_VALUE 20 > > >>>>>>>485 DECIMAL 20, 5 > > >>>>>>>MIN_ORDER_VALUE 15 > > >>>>>>> > > >>>>>>> > > >>>>>>>/*I have the following ResultMap*/ > > >>>>>>> > > >>>>>>> <resultMap id="getPromotionActionMap" > > >>>>>>>class="com.boscovs.commerce.promotion.dao.ActionDAO"> > > >>>>>>> <result property="type" column="actiontype" /> > > >>>>>>> <result property="numberOfItems" > > >>>>>>>column="min_item_quantity" javaType="int"/> > > >>>>>>> <result property="individualItemValue" > > >>>>>>>column="min_single_item_value" javaType="double"/> > > >>>>>>> <result property="totalItemValue" > > >>>>>>>column="min_total_item_value" javaType="double"/> > > >>>>>>> <result property="totalValue" column="min_order_value" > > >>>>>>>javaType="double"/> > > >>>>>>> </resultMap> > > >>>>>>> > > >>>>>>> > > >>>>>>> <select id="getPromotionAction" > resultMap="getPromotionActionMap"> > > >>>>>>> <![CDATA[Select a.actiontype, a.min_item_quantity, > > >>>>>>> a.min_single_item_value, > > >>>>>>> a.min_total_item_value, > > >>>>>>> a.min_order_value > > >>>>>>> from DB2USR.PROMOTION as p, DB2USR.PROMO_ACTION a > > >>>>>>> where p.promotion_id = a.promotion_id > > >>>>>>> and p.promotion_id = #value# > > >>>>>>> and p.status='A']]> > > >>>>>>> </select> > > >>>>>>> > > >>>>>>> > > >>>>>>>/*My bean is as follows*/ > > >>>>>>> > > >>>>>>>public class ActionDAO { > > >>>>>>> > > >>>>>>> public static enum Selected { > > >>>>>>> UNSELECTED, NO_ACTION, ADDS_X_ITEMS, > > >>>>>>> TOTAL_ORDER_VALUE_AT_LEAST_X } > > >>>>>>> > > >>>>>>> private Selected selected = Selected.UNSELECTED; private > > >>>>>>> XItems xItems; private double totalValue; > > >>>>>>> private int numberOfItems; > > >>>>>>> private double individualItemValue; > > >>>>>>> private double totalItemValue; > > >>>>>>> private String type; > > >>>>>>> > > >>>>>>> > > >>>>>>> /** > > >>>>>>> * @return > > >>>>>>> */ > > >>>>>>> public Selected getSelected() { > > >>>>>>> return selected; > > >>>>>>> } > > >>>>>>> > > >>>>>>> /** > > >>>>>>> * @return > > >>>>>>> */ > > >>>>>>> public double getTotalValue() { > > >>>>>>> return totalValue; > > >>>>>>> } > > >>>>>>> > > >>>>>>> /** > > >>>>>>> * @return > > >>>>>>> */ > > >>>>>>> public XItems getXItems() { > > >>>>>>> return xItems; > > >>>>>>> } > > >>>>>>> > > >>>>>>> /** > > >>>>>>> * @param i > > >>>>>>> */ > > >>>>>>> public void setSelected(Selected i) { > > >>>>>>> selected = i; > > >>>>>>> } > > >>>>>>> > > >>>>>>> /** > > >>>>>>> * @param d > > >>>>>>> */ > > >>>>>>> public void setTotalValue(double d) { > > >>>>>>> totalValue = d; > > >>>>>>> } > > >>>>>>> > > >>>>>>> /** > > >>>>>>> * @param items > > >>>>>>> */ > > >>>>>>> public void setXItems(XItems items) { > > >>>>>>> xItems = items; > > >>>>>>> } > > >>>>>>> > > >>>>>>> public void setType(String type) { > > >>>>>>> this.type = type; > > >>>>>>> } > > >>>>>>> > > >>>>>>> public double getIndividualItemValue() { > > >>>>>>> return individualItemValue; > > >>>>>>> } > > >>>>>>> public void setIndividualItemValue(double individualItemValue) { > > >>>>>>> this.individualItemValue = individualItemValue; } > > >>>>>>> public int getNumberOfItems() { > > >>>>>>> return numberOfItems; > > >>>>>>> } > > >>>>>>> public void setNumberOfItems(int numberOfItems) { > > >>>>>>> this.numberOfItems = numberOfItems; > > >>>>>>> } > > >>>>>>> public double getTotalItemValue() { > > >>>>>>> return totalItemValue; > > >>>>>>> } > > >>>>>>> public void setTotalItemValue(double totalItemValue) { > > >>>>>>> this.totalItemValue = totalItemValue; > > >>>>>>> } > > >>>>>>> /** > > >>>>>>> * toString method: creates a String representation of the object > > >>>>>>> * @return the String representation > > >>>>>>> * @author > > >>>>>>> */ > > >>>>>>> public String toString() { > > >>>>>>> StringBuffer buffer = new StringBuffer(); > > >>>>>>> buffer.append("ActionDAO["); > > >>>>>>> buffer.append("individualItemValue = > ").append(individualItemValue); > > >>>>>>> buffer.append(", numberOfItems = ").append(numberOfItems); > > >>>>>>> buffer.append(", selected = ").append(selected); > > >>>>>>> buffer.append(", totalItemValue = ").append(totalItemValue); > > >>>>>>> buffer.append(", totalValue = ").append(totalValue); > > >>>>>>> buffer.append(", type = ").append(type); > > >>>>>>> buffer.append(", xItems = ").append(xItems); > > >>>>>>> buffer.append("]"); > > >>>>>>> return buffer.toString(); > > >>>>>>> }} > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>>/*I get an IllegalArgumentException from all this query. The > developers > > >>>>>>>guide infers that you can use primitives in your definitions. Does > it? > > >>>>>>>Or am I doing something stupid and not realizing it? BTW, it works > if I > > >>>>>>>use Wrapper classes, but I don't want to have to go through all of > my > > >>>>>>>beans and covert them. Thanks for any help.*/ > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>> > > >>>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>-- > > >>>>Michael H. Zatko > > >>>>Java Enterprise Developer > > >>>>Boscov's Information Services > > >>>>Work: 610-929-7317 > > >>>>Home: 610-376-1624 > > >>>>Page: 610-736-4460 > > >>>> > > >>>> > > >>>> > > >>>> > > >>>> > > >>>> > > >>> > > >>> > > >>> > > >>-- > > >>Michael H. Zatko > > >>Java Enterprise Developer > > >>Boscov's Information Services > > >>Work: 610-929-7317 > > >>Home: 610-376-1624 > > >>Page: 610-736-4460 > > >> > > >> > > >> > > >> > > > > > > > > > > > > > -- > > Michael H. Zatko > > Java Enterprise Developer > > Boscov's Information Services > > Work: 610-929-7317 > > Home: 610-376-1624 > > Page: 610-736-4460 > > > > >

