Select with dynamic where

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Select with dynamic where

Leucht, Axel
I'm currently having one problem with iBATIS-3.

My test bed runs fine with iBATIS-2 and I have a problem with one select
statement which inserts a dynamic where clause.
The parameters, which are plain strings, are not inserted into the sql
command.

        <select id="getSomeStudents" resultType="entities.Student"
                parameterType="list">
                select name,descr as description from student where name
in
                <foreach item="item" index="index" collection="list"
                        open="(" separator="," close=")">
                                #{value,jdbcType=VARCHAR}
                </foreach>
        </select>

In Java-Code
            List<String> props = new ArrayList<String>();
            props.add("string1");
            props.add("string2");
            props.add("string3");
            List<Student> listStudenten =
sqlSession.selectList("Student.getEinigeStudenten", props);

The log shows that the sql don't contain the parameters given.

DEBUG [main] - ==>  Executing: select name,descr as description from
student where name in ( ? , ? , ? )
DEBUG [main] - ==> Parameters: null, null, null

What is wrong with my approach?

/Axel

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]