Well you learn something new every day.  Thanks Brandon. :-)

Kris

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/









--
Kris Jenkins
Email:  [EMAIL PROTECTED]
Blog:   http://cafe.jenkster.com/
Wiki:   http://wiki.jenkster.com/





Reply via email to