πŸ’»Coding/πŸ“• spring

[spring] Mybatis String νŒŒλΌλ―Έν„° : parameterType="String" μΌλ•Œ 였λ₯˜ ν•΄κ²°

μŒμ€μ‘ 2022. 7. 4. 03:56
728x90
λ°˜μ‘ν˜•
βœ…  HTTP Status 500 - λ‚΄λΆ€μ„œλ²„μ˜€λ₯˜

βœ… νƒ€μž… μƒνƒœ 보고
βœ… λ©”μ‹œμ§€
→ HTTP Status 500 - Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'mbrId' in 'class java.lang.String'

βœ… μ„€λͺ…
xml νŒŒμΌμ—μ„œ μž‘μ„±ν•œ μΏΌλ¦¬λ¬Έμ—μ„œ 였λ₯˜κ°€ μžˆμ„ κ°€λŠ₯성이 λ†’μŠ΅λ‹ˆλ‹€.
⬇️
μ œκ°€ μž‘μ„±ν•œ νŒŒμΌμ„ κΈ°μ€€μœΌλ‘œ μ„€λͺ… λ“œλ¦΄κ»˜μš”!
μ €λŠ” ν˜„μž¬ λ¬Έμ œκ°€ μžˆμ—ˆλ˜ 파일의 μœ„μΉ˜λŠ” :
γ„΄ src/main/resources 밑에 mybatis > mappers > board.xml νŒŒμΌμ—μ„œ μž‘μ„±ν•œ μΏΌλ¦¬λ¬Έμ—μ„œ 총 3κ°€μ§€μ˜ 문제λ₯Ό μ•„λž˜μ™€ 같은 λ°©λ²•μœΌλ‘œ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

1. select id="" μ˜μ—­μ˜ μ˜€νƒ€κ°€ μžˆλŠ”μ§€ 확인

γ„΄ ex) select id="selectList2"
γ„΄ Dao νŒŒμΌμ—μ„œ id κ°’ 확인


2. where 절 μˆ˜μ • #{keword} → #{value} μ€‘μš”!!
γ„΄ ex) 
where b.user_no = u.no
and title like '%'||#{value}||'%'  

πŸ“ MyBatis 동적 쿼리 μ‚¬μš©μ€‘ Parameterλ₯Ό String으둜 λ„˜κ²¨μ•Ό ν•˜λŠ” κ²½μš°μ—λŠ” !!
: parameterType="String" 이와 같이 νŒŒλΌλ―Έν„°νƒ€μž…μ˜ 값을 슀트링으둜 λ„£μœΌλ©΄ μ£Όμ†Œλ₯Ό λ°›κ²Œ λ˜λŠ”λ° μ΄λ ‡κ²Œ μ£Όμ†Œκ°€ μ˜€λŠ” 경우
μ£Όμ†ŒλŠ” κ²Œν„°κ°€ μž‘λ™λ˜λŠ”λ° 이럴 λ•Œ value둜 μž‘μ„±ν•΄μ£Όμ–΄μ•Ό λ“€μ–΄κ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.
즉, String이 getter방식이 μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— 였λ₯˜κ°€ λ‚˜μ„œ νŒŒλΌλ―Έν„°κ°’μ΄ λ“€μ–΄μ˜¬ 수 μ—†κΈ°λ•Œλ¬Έμ— 

#{value}으둜 λ„£μ–΄μ£Όλ‹ˆ νŒŒλΌλ―Έν„° 값이 λ³€κ²½λ˜μ–΄ λ“€μ–΄μ˜¬ 수 있게 λ©λ‹ˆλ‹€.

3. resultType μž‘μ„±
γ„΄ ex) resultType="com.javaex.vo.BoardVo"

 

πŸ“ 1. select id="" μ˜μ—­μ˜ μ˜€νƒ€κ°€ μžˆλŠ”μ§€ 확인
γ„΄ Dao νŒŒμΌμ—μ„œ id κ°’ 확인
γ„΄ ex) select id="selectList2"

 

πŸ“ 2. where 절 μˆ˜μ • #{keword} → #{value} μ€‘μš”!!
γ„΄ ex) 
where b.user_no = u.no
and title like '%'||#{value}||'%' 

 

3. resultType μž‘μ„±
γ„΄ ex) resultType="com.javaex.vo.BoardVo"

 

 

728x90
λ°˜μ‘ν˜•