Reputation: 1
I try to update a column my Mybatis xml Mapper. The parameterType is Request class, and it contained List type object. I want to get that object from class to xml mapper. But I got an issue like this continueously. What's the problem?
Here is my xml code
<update id="moveEBookShelf" parameterType = "kyobobook.digital.application.domain.bsh.EBookShelfMoveBshRequest">
<foreach item="bsh" index="index" collection="resultList" open="(" separator="," close=")">
UPDATE EOU.T_UI_DGCT_BSH_M
SET DGCT_BSH_ARNG_SRMB = #{bsh.bshArrgNum}
WHERE DGCT_BSH_NUM = #{bsh.bshNum}
</foreach>
</update>
Request class looks like this,
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EBookShelfMoveBshRequest extends DataTableRequest {
private String updown;
List<EBookShelf> resultList;
}
And EBookShelf code like this
@Data
@SuperBuilder
@Getter
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper=false)
public class EBookShelf{
private int bshNum;
private String bshName;
private int bshArrgNum;
private String dltYN;
private int totalCount;
}
Finally I got and issue like this
EOU.T_UI_DGCT_BSH_M SET DGCT_BSH_ARNG_SRMB = 3 WHERE DGCT_BSH_NUM = 278008 , UPDATE EOU.T_UI_DGCT_BSH_M SET DGCT_BSH_ARNG_SRMB = 2 WHERE DGCT_BSH_NUM = 278009 , UPDATE EOU.T_UI_DGCT_BSH_M SET DGCT_BSH_ARNG_SRMB = 4 WHERE DGCT_BSH_NUM = 278010 ) {FAILED after 11 ms} org.postgresql.util.PSQLException: ERROR: syntax error at or near "UPDATE" Position: 11 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2553)
Upvotes: 0
Views: 1916
Reputation: 1
<update id="moveEBookShelf" parameterType = "kyobobook.digital.application.domain.bsh.EBookShelfMoveBshRequest">
<foreach item="bsh" index="index" collection="resultList" open=" " separator=";" close=" ">
UPDATE EOU.T_UI_DGCT_BSH_M
SET DGCT_BSH_ARNG_SRMB = #{bsh.bshArrgNum}
WHERE DGCT_BSH_NUM = #{bsh.bshNum}
</foreach>
</update>
Upvotes: 0