Ibatis : multiple insert

View: New views
3 Messages — Rating Filter:   Alert me  

Ibatis : multiple insert

by lali m :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

hi,
 
I have to do multiple insert in same time and for the moment I not found how do it.
exemple : for one student I have to do insert all books
 
Student student {
Sring name
.................
 
 
List<Book> bookList;
 
}
 
(studentTable ) 1---------------------- n(bookTable)
 
whene I insert a student I need to insert (0 or n) books
I need to do some things like that :
 

<

insert id="InsertSudent" parameterClass="AnnonceDaoLine" >

insert into students (id, name,date, ..... ) values (?,?,?,....)

<selectKey resultClass="int" keyProperty="id" type="post">

SELECT @@IDENTITY AS id_student

</selectKey>

</insert>

<insert id="insertBooks" parameterClass="BookInfoLines">

insert into books (id, tilte, ......)

<iterate property="bookList" >

values (#id#, #tilte#, ....)

</iterate>

where id=#id_student#

</insert>
 

Re: Ibatis : multiple insert

by Ian Zabel-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I think you need to iterate over the bookList in your Java code and call your insert multiple times. Take the <iterate> out of the insert.

Maybe this will help you:



Also, what's with the WHERE clause in your INSERT statement? I'm not familiar with that syntax.


Ian.

On Aug 24, 2008, at 8:43 PM, lali m wrote:

hi,
 
I have to do multiple insert in same time and for the moment I not found how do it.
exemple : for one student I have to do insert all books
 
Student student {
Sring name
.................
 
 
List<Book> bookList;
 
}
 
(studentTable ) 1---------------------- n(bookTable)
 
whene I insert a student I need to insert (0 or n) books
I need to do some things like that :
 

<

insert id="InsertSudent" parameterClass="AnnonceDaoLine" >

insert into students (id, name,date, ..... ) values (?,?,?,....)


<selectKey resultClass="int" keyProperty="id" type="post">

SELECT @@IDENTITY AS id_student


</selectKey>

</insert>

<insert id="insertBooks" parameterClass="BookInfoLines">

insert into books (id, tilte, ......)


<iterate property="bookList" >

values (#id#, #tilte#, ....)


</iterate>

where id=#id_student#


</insert>
 


Re: Ibatis : multiple insert

by averm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I am having a similar situation.
did u happen to find a way to get this working.

lali m wrote:
hi,

I have to do multiple insert in same time and for the moment I not found how
do it.
exemple : for one student I have to do insert all books

Student student {
Sring name
.................


List<Book> bookList;

}

(studentTable ) 1---------------------- n(bookTable)

whene I insert a student I need to insert (0 or n) books
I need to do some things like that :


<insert id="InsertSudent" parameterClass="AnnonceDaoLine" >

insert into students (id, name,date, ..... ) values (?,?,?,....)

<selectKey resultClass="int" keyProperty="id" type="post">

SELECT @@IDENTITY AS id_student

</selectKey>

</insert>

<insert id="insertBooks" parameterClass="BookInfoLines">

insert into books (id, tilte, ......)

<iterate property="bookList" >

values (#id#, #tilte#, ....)

</iterate>

where id=#id_student#

</insert>
LightInTheBox - Buy quality products at wholesale price!