DB

[오류] invalid comparison: java.util.ArrayList and java.lang.String

원파 2023. 9. 17. 21:32

비교가 불가능하다 배열과 string은

 

 

{
    "corp_nm":"",
    "corp_ty":"",
    "corp_stus_arr":[
        {
            "corp_stus":"CM0002",
            "prd_val":90
        },
        ...
    	...
    	...
    ],

    "rltn_opts":"",
}

postman으로 위와같이 전송

눈여겨 봐야할 것

corp_stus_arr

 

기존 mybatis 코드

>>

		<if test = "corp_stus_arr != '' or corp_stus_arr != null">
			and 
			<foreach collection="corp_stus_arr" item="obj" separator="or">
				corp_stus = #{obj.corp_stus}
			</foreach>
		</if>

 

오류 후 수정 mybatis 코드

>>

		<if test = "corp_stus_arr.size != 0">
			and 
			<foreach collection="corp_stus_arr" item="obj" separator="or">
				corp_stus = #{obj.corp_stus}
			</foreach>
		</if>

 

 

 

++ 추가1

대부분 mybatis 에서 foreach사용시 

where in 

<foreach ~~~ separator=",">

...

</foreach>

이런식으로 많이 예시를 드는데 

separator에 텍스트처럼 or도 넣을수 있다는 점

 

 

++ 추가2

object arr형식의 파라미터를 Hashmap으로 넘겼을때 

위와같이 foreach를 사용해 가지고 올수 있다는 점