日期:2014-05-16  浏览次数:20425 次

mybatis 传参是list ,array, map

<!--List:forech中的collection属性类型是List,collection的值必须是:list,item的值可以随意,Dao接口中参数名字随意 -->
??? <select id="getEmployeesListParams" resultType="Employees">
??????? select *
??????? from EMPLOYEES e
??????? where e.EMPLOYEE_ID in
??????? <foreach collection="list" item="employeeId" index="index"
??????????? open="(" close=")" separator=",">
??????????? #{employeeId}
??????? </foreach>
??? </select>

??? <!--Array:forech中的collection属性类型是array,collection的值必须是:list,item的值可以随意,Dao接口中参数名字随意 -->
??? <select id="getEmployeesArrayParams" resultType="Employees">
??????? select *
??????? from EMPLOYEES e
??????? where e.EMPLOYEE_ID in
??????? <foreach collection="array" item="employeeId" index="index"
??????????? open="(" close=")" separator=",">
??????????? #{employeeId}
??????? </foreach>
??? </select>

??? <!--Map:不单单forech中的collection属性是map.key,其它所有属性都是map.key,比如下面的departmentId -->
??? <select id="getEmployeesMapParams" resultType="Employees">
??????? select *
??????? from EMPLOYEES e
??????? <where>
??????????? <if test="departmentId!=null and departmentId!=''">
??????????????? e.DEPARTMENT_ID=#{departmentId}
??????????? </if>
??????????? <if test="employeeIdsArray!=null and employeeIdsArray.length!=0">
??????????????? AND e.EMPLOYEE_ID in
??????????????? <foreach collection="employeeIdsArray" item="employeeId"
??????????????????? index="index" open="(" close=")" separator=",">
??????????????????? #{employeeId}
??????????????? </foreach>
??????????? </if>
??????? </where>
??? </select>