λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Basics/Error

mybatis <foreach> 쀑 Parameter '__frch__item_0' not found μ—λŸ¬ λ˜λŠ” There is no getter for property named '__frch__item_0' μ—λŸ¬

by IworldT 2023. 1. 19.
λ°˜μ‘ν˜•

mybatis둜 쿼리λ₯Ό μž‘μ„±ν•  λ•Œ, foreach νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜μ—¬ 쿼리λ₯Ό μ‹€ν–‰μ‹œμΌœμ•Ό ν•  λ•Œκ°€ μžˆλ‹€.

insertλ‚˜ update 등을 반볡적으둜 μˆ˜ν–‰ν•˜κ³ μž ν•  λ•Œ μ‚¬μš©ν•œλ‹€.

이럴 λ•Œ, Parameter '__frch__item_0' not found λ˜λŠ” There is no getter for property named '__frch__item_0' μ—λŸ¬κ°€ λ°œμƒν•  수 μžˆλ‹€.

λ°˜λ³΅ν•˜κ³ μž ν•˜λŠ” itemμ—μ„œ μ–΄λ– ν•œ λ³€μˆ˜λͺ…을 ν˜ΈμΆœν•˜λ € ν•˜λŠ”λ° μ •μ˜κ°€ λ˜μ–΄μžˆμ§€ μ•Šλ‹€λŠ” λœ»μ΄λ‹€.

ν•œλ§ˆλ””λ‘œ 보톡 λ³€μˆ˜λͺ… μ˜€νƒ€κ±°λ‚˜, 데이터 νƒ€μž…μ„ λ§žμΆ°μ£Όμ§€ μ•Šμ•˜μ„ κ²½μš°κ°€ 99%이닀.

 

 <foreach> __frch__item_0 μ—λŸ¬ 해결방법

1. μ˜€νƒ€ ν™•μΈν•˜κΈ°

λ‚˜μ˜ 경우 S둜 λŒ€λ¬Έμžμ˜€μ–΄μ•Ό ν•  단어가 s둜 잘λͺ» λ“€μ–΄κ°€μžˆμ–΄ μ˜€νƒ€ λ•Œλ¬Έμ— λ‚˜νƒ€λ‚œ λ¬Έμ œμ˜€λ‹€.

μ˜€νƒ€κ°€ μžˆλŠ”μ§€ λ‹€μ‹œ ν•œ 번 꼼꼼히 μ‚΄νŽ΄λ³΄μ‹œκΈ° λ°”λž€λ‹€.

 

2. 데이터 νƒ€μž… ν™•μΈν•˜κΈ°

mybatis xml에 νŒŒλΌλ―Έν„°λ₯Ό 넣어쀄 λ•Œ #{}λ‚˜ ${}에 λ„£μ–΄μ£ΌλŠ” 두 가지 방법이 μžˆλ‹€.

#{ }λŠ”μžλ™μœΌλ‘œ ' 'λ₯Ό μ…‹νŒ…ν•΄μ£ΌκΈ° λ•Œλ¬Έμ—, λ¬Έμžμ—΄κ³Ό 같은 νƒ€μž…μ΄ μ•„λ‹Œ 일반 숫자 νƒ€μž…μ΄λΌλ©΄ ${ }둜 바꿔보도둝 ν•œλ‹€.

λ§Œμ•½ λͺ¨λ‘ κ·Έλ ‡κ²Œ 맞좰져 μžˆλŠ”λ°λ„ μ•ˆλœλ‹€λ©΄, '${ }' 이런 μ‹μœΌλ‘œ ν™œμš©ν•˜λŠ” 것도 ν•˜λ‚˜μ˜ 방법이닀.

μ˜ˆμ‹œλŠ” λ‹€μŒκ³Ό κ°™λ‹€.

String str
Int num
//μœ„ 두가지 νŒŒλΌλ―Έν„°κ°€ μžˆλ‹€κ³  κ°€μ •ν•˜λ©΄,

#{item.str}
${item.num}
//λ˜λŠ”

'${item.str}'
${item.num}
//이 λ°©λ²•μœΌλ‘œ ν™œμš©ν•  수 μžˆλ‹€.

 

mybatis <foreach> 쀑 Parameter '__frch__item_0' not found μ—λŸ¬ λ˜λŠ” There is no getter for property named '__frch__item_0' μ—λŸ¬ ν•΄κ²° 방법을 μ•Œμ•„λ³΄μ•˜λ‹€!

728x90
λ°˜μ‘ν˜•

λŒ“κΈ€