I am trying to get the last_insert_id() in mySQL after an insert. I read in a forum that during a transaction, the same connection was guaranteed to be used for the duration of the transaction. That's not my experience using Spring and iBatis 1.3.1. Using the code below, I get 2 different connection ids. I am a bit lost with the concept of a transaction if the connection is not maintained.

Any comments?

Thanks

Fred

getSqlMap().startTransaction();
connectionId = (Integer)getSqlMapTemplate().executeQueryForObject("ConnectionId",null);
System.out.println("iBatisTasks createTask connectionId: " + connectionId);

getSqlMapTemplate().executeUpdate("createTask", task);

Integer taskId = new Integer(0);
taskId = (Integer)getSqlMapTemplate().executeQueryForObject("lastTaskId",null);
System.out.println(">>>>>>>>>> iBatisTasks createTask id: " + taskId);

connectionId = (Integer)getSqlMapTemplate().executeQueryForObject("ConnectionId",null);
System.out.println("iBatisTasks createTask connectionId: " + connectionId);

getSqlMap().commitTransaction();

begin:vcard
fn:fjanon
n:Janon;Fred
email;internet:[EMAIL PROTECTED]
title:Sr S/W Engineer & Architect
x-mozilla-html:TRUE
url:http://www.geocities.com/fjanon
version:2.1
end:vcard

Reply via email to