ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Larry Meadors" <lmead...@apache.org>
Subject Re: Batch Inserts and <selectKey />
Date Thu, 03 Jan 2008 04:35:23 GMT
I don't know enough about your data to say for sure, but you might
have an easier time with a stored procedure - if your data is simple
enough.

I've done things like passing in comma delimited lists to stored
procedures - then you can do it all in-process with the database. That
way you can insert or update hundreds of records by making one call to
the database and passing just a few strings.

If you think this sounds feasible in your case, describe your case a
bit more and we'll see what we can do.

Larry


On Jan 2, 2008 9:20 PM, Gregg Bolinger <gdboling.ibatis@gmail.com> wrote:
> Well, it would need to be more like
>
> batch insert 100 parents
> foreach(parent) {
>     batch 100 children (with a parentId which I don't have, hence the
> problem)
> }
>
>
> Gregg
>
>
>
>  On Jan 2, 2008 10:12 PM, Justin Stanczak <rizenine@gmail.com> wrote:
> > I'm new so I probably don't know what I'm talking about, but wouldn't it
> be faster to use SQL to create all this and just return a list of parents? I
> guess unless each parent and child needs to be edited. Then Nathan's code is
> the way to go.
> >
> >
> >
> >
> >
> > On Jan 2, 2008 10:02 PM, Nathan Maves <nathan.maves@gmail.com> wrote:
> >
> > > we in my dao layer I would have something like...
> > >
> > >
> > > psudeo {
> > >   batch insert the 100 partents
> > >
> > >
> > >   foreach(parent) {
> > >     batch the 100 children;
> > >     collection = queryForList("getChildren",parentId);
> > >
> > >
> > >
> > >   }
> > > }
> > >
> > >
> > > On Jan 2, 2008 5:55 PM, Gregg Bolinger < gdboling.ibatis@gmail.com>
> wrote:
> > >
> > > > Well, the problem is that I need them for a parent child relationship.
> Are there any known solutions?
> > > >
> > > > So say I batch insert 100 parents.  And then I need to batch insert
> 100 children for each parent.  What is the best way to achieve this?
> > > >
> > > > Thanks.
> > > >
> > > > Gregg
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > On Jan 2, 2008 6:37 PM, Nathan Maves < nathan.maves@gmail.com> wrote:
> > > >
> > > > > Gregg,
> > > > >
> > > > >
> > > > > The underlyng call is to
> http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html#executeBatch()
> which as you can see from the javadocs only returns the number of effected
> rows.
> > > > >
> > > > >
> > > > > I don't know of any way that would allow you to return the ids for
> each batched insert with the current java.sql api's.
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Nathan
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Jan 2, 2008 4:56 PM, Gregg Bolinger < gdboling.ibatis@gmail.com>
> wrote:
> > > > >
> > > > > > If doing a batch insert on several objects I can't seem to
> retrieve the auto_increment key using the <selectKey /> tag.  Individual
> inserts work just fine.  Is this expected?
> > > > > >
> > > > > > Thanks.
> > > > > >
> > > > > > Gregg
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
> >
> > --
> > "All that is necessary for the triumph of evil is that good men do
> nothing."   Edmund Burke
>
>

Mime
View raw message