Ahh...very helpful. thank you. what about inserts? can you use iterate to execute multiple inserts or updates? or do i have to make separate calls in my dao class?



On 4/23/05, Ron Grabowski <[EMAIL PROTECTED]> wrote:
I believe your code would incorrectly generate the following sql
statements (all on one line):

select * from content where id = 1
select * from content where id = 2
select * from content where id = 3
...

Take a look at the these test cases:

http://tinyurl.com/dadn5
http://svn.apache.org/repos/asf/incubator/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DynamicAccount.xml

You probably want to do something like this:

SELECT * FROM content WHERE id IN
<iterate property="idList" open="(" close=")"  conjunction=",">
  #idList[]#
</iterate>

That would generate this sql:

SELECT * FROM content WHERE id IN (1,2,3)

If you want three seperate queries, your dao class would need to make
three seperate calls to the database.

--- Jason Punzalan <[EMAIL PROTECTED]> wrote:
> Can someone show me an example of doing a select with iterate? Is it
> possible to do the following....
>
> <statement id="getAllByList" resultClass="Content"
> parameterClass="Content"
> resultMap="content-result" >
> <dynamic>
> <iterate property="idList">
> select * from content where
> id = #idList[]#
> </iterate>
> </dynamic>
> </statement>
>
> I'm currently getting an java.sql.SQLException...running mysql.
>
> Thanks
>

Reply via email to