My mapper xmlはこのようなものです。foreach for mybatis returns Null結果
<mapper namespace="EmployeeDaoMapper">
<resultMap id="employeeResultMap" type="Employee">
<result property="employeeName" column="name"/>
<result property="employeeId" column="employee_id"/>
</resultMap>
<select id="getEmployees" parameterType="list" resultMap="employeeResultMap">
<!--<select id="getEmployees" resultType="Employee">-->
SELECT
<foreach item="item" index="index" collection="list" separator="," >
#{item}
</foreach>
FROM employees
WHERE LOWER (name) LIKE LOWER(#{searchQuery} +'%') OR
LOWER(login) LIKE LOWER(#{searchQuery} +'%') OR
LOWER(employee_id) LIKE LOWER(#{searchQuery} + '%')
LIMIT #{resultsLimit}
</select>
EmployeeMapperインタフェース
List<Employee> getEmployees(@Param("searchQuery") String searchQuery, @Param("resultsLimit") int
resultsLimit, @Param("list") List<String> attributes);
クエリがヌルのリストを返します。
foreachの代わりに、私が直接列名を追加するとうまくいきます。
私は間違いをしています。私はクエリをチェックしましたが、クエリを正しく構築していますが、まだ結果をフェッチできません。
フォートワースを通じて提供されているように私は
parameterType="map"
に変更parameterType="list"
を追加します。 +1。 –