ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bondre, Prathit" <pbon...@chdist.com>
Subject RE: iBatis Subquery and Date error
Date Thu, 26 Jan 2006 17:22:15 GMT
Hi Nathan,

Thanks for your response.

However the #name# and #effDate# do not work in the select statement and
my guess is because in a prepared statement you cannot specify a ? in
the select.

I have tried this already.

That's why I had to use the $effDate$ instead and use the statement and
remapResults. It worked for the name but not for the date.





From: Nathan.Maves@Sun.COM [mailto:Nathan.Maves@Sun.COM] 
Sent: Thursday, January 26, 2006 11:17 AM
To: user-java@ibatis.apache.org
Subject: Re: iBatis Subquery and Date error


Here are a few things to do that will not solve your problem but will
help clean it up.


1. Use the <insert> instead of <statement>

2. Don't specify "remapResults" because you dont have any :)  This
option is not available in an <insert> see item #1


To fix your problem....


use #name# and #effDate#


you are also missing the id parameter in the HashMap



Stick with java.sql.Date.  Try never to use java.util.Date.







On Jan 26, 2006, at 9:41 AM, Bondre, Prathit wrote:

I currently have a query defined in my XML as follows


<statement id="insertQuery" parameterClass="java.util.Map"

            Insert into table





                        $name$ as name,

                        $effDate$ as date




                        Id = #id#



When I call it using the HashMap and set the effDate with java.sql.Date
object it throws an exception

That the  value is not compatible with the datatype of the target which
is defined in the database as a Date field.

Also based on the documentation I also tried to pass in a java.util.Date
instead of the java.sql.Date and it got an error

"An unexpected token was found" and it seemed like it was passing in the
String version of the Date field which included the timestamp in the
data and it was choking on the : in the timestamp.


How should I be passing the effDate to this query?


So far I had

HashMap params = new HashMap();


Params.put ("effDate",effDate) // effDate is an instance of
java.sql.Date . Also tried with java.util.Date.


What am I doing wrong?


Any help will be appreciated.



Prathit Bondre



View raw message