If you want to get the primary key into the parameter object you can
do that by simply having a <selectKey> statement in your <insert>. We
are looking to add support for the getGeneratedKeys in jdbc 3.0.
Brandon
On Thu, 03 Feb 2005 15:36:58 +0000, Kris Jenkins
<[EMAIL PROTECTED]> wrote:
> Worth noting that the parameter bean will not be affected. So (if this
> is what you want to accomplish) you need to do:
>
> public void saveContact( Contact contact ) throws SQLException {
> Integer id = sqlMap.insert("insertContact",contact);
>
> contact.setId( id );
>
> log.debug( "I have now saved your object and given it the correct
> id." );
> }
>
> Kris
>
> Richard Yee wrote:
>
> > Mike,
> > According to the JavaDocs for the insert method:
> >
> > Executes a mapped SQL INSERT statement. Insert is a bit different from
> > other update methods, as it provides facilities for returning the
> > primary key of the newly inserted row (rather than the effected rows).
> > This functionality is of course optional.
> >
> > The parameter object is generally used to supply the input data for
> > the INSERT values.
> >
> > *Parameters:*
> >
> > id - The name of the statement to execute.
> > parameterObject - The parameter object (e.g. JavaBean, Map, XML
> > etc.).
> >
> > *Returns:*
> >
> > The primary key of the newly inserted row. This might be
> > automatically generated by the RDBMS, or selected from a sequence
> > table or other source.
> >
> > -Richard
> >
> >
> > At 05:21 AM 2/3/2005, you wrote:
> >
> >> Overall, I think it's a really good article. But one question about
> >> this example...
> >> public void contactInsert() throws SQLException, IOException {
> >> sqlMap.startTransaction(); try { sqlMap.startTransaction(); Contact
> >> contact = new Contact(); contact.setContactId(3);
> >> contact.setFirstName("John"); contact.setLastName("Doe");
> >> sqlMap.insert("insertContact",contact); sqlMap.commitTransaction(); }
> >> finally{ sqlMap.endTransaction(); } }
> >> Inside of our Java code, we create a Contact object, populate its
> >> values, and then call sqlMap.insert(), passing the name of the query
> >> that we want to execute and the Contact. *This method will insert the
> >> new contact and return the primary key of the newly inserted
> >> contact.* Is that last sentence true? I am using <selectKey> now.
> >> Mike
> >>
> >>
> >>
> >> Do you Yahoo!?
> >> Yahoo! Search presents - Jib Jab's 'Second Term'
> >> <http://us.rd.yahoo.com/evt=30648/*http://movies.yahoo.com/movies/feature/jibjabinaugural.html>
> >
> >
>
> --
> Kris Jenkins
> Email: [EMAIL PROTECTED]
> Blog: http://cafe.jenkster.com/
> Wiki: http://wiki.jenkster.com/
>
>