springframework3 [java] list์ null ์ฒดํฌ(ObjectUtils.isEmpty()) ๋ชฉ์ฐจ NPE ๐ NPE(NullPointerException)๋ java ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ์ ๋ง ๋ง์ด ๋ง๋๋ ์๋ฌ ์ค ํ๋์ด๊ณ Null๊ฐ์ธ ๋์์ ๊ฐ์ง๊ณ ๋ญ๊ฐ ํ๋ ค๊ณ ํ๋ฉด ๋ฐ์ํ๋ ์๋ฌ๋ค. ๋ฐฉ์ง๋ฒ์ ๊ณตํต๋ชจ๋์ ๋ง๋ค์ด ํญ์ null ์ฒดํฌ๋ฅผ ํ๊ฒ๋ ๊ฐ๋ฐํ๋๊ฒ ์ฝ์ง์ ์ค์ด๋ ๊ธธ์ผ ๋ฏ ์ถ๋ค. ์๋์ ๊ฐ์ ์ํฉ์์ NPE๊ฐ ๋ฐ์ํ๋ค. userList์ ์๋ฌด๊ฒ๋ ํ ๋น๋์ง ์์ ์ํ์ธ๋ฐ ์ฌ์ด์ฆ๋ฅผ ์ธก์ ํ๋ ค๊ณ ํ๋ค๋?(๋ฏธ์น๊ฑด๊ฐ?) List userList = null; log.info("userList => {}", userList.size()); ์คํ๋ง์ผ๋ก ๊ฐ๋ฐ ์ ๋ณดํต ๋ฐ์ดํฐ๋ฅผ list์ ๋ด์ ํ๋ฉด์ ๋ฟ๋ฆฌ๊ฑฐ๋ API ํ์์ผ๋ก ํด๋ผ์ด์ธํธ์ ๋ด๋ฆฌ๊ฑฐ๋ ํ ํ ๋ฐ list๊ฐ null์ด๊ฑฐ๋ ๋น๊ฐ์ด ๋ด๊ธฐ๊ฑฐ๋ ์ฌ์ด์ฆ๊ฐ 0์ธ ๊ฒฝ์ฐ ๋ฑ๋ฑ .. IT/development 2023. 2. 12. [springBoot] ์ ํจ์ฑ ๊ฒ์ฆ(feat. @Valid, Validated) ๋ชฉ์ฐจ SpringBoot ์ ํจ์ฑ ๊ฒ์ฆ ๐ ํด๋ผ์ด์ธํธ์์ ๋์ด์จ ๊ฐ๋ค์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฆ์ด ํ์ํ๋ฐ if(id != null || id != ""...) ์ด๋ ๊ฒ if๋ฌธ์ผ๋ก ์ ํจ์ฑ ์ฒดํฌ๋ฅผ ํ๊ธฐ ์ซ์ด์ ์๋ฐ๋ ์คํ๋ง์์ ์ง์ํ๋ ์ข์๊ฒ ์ด๋ ์๋ ๋ณด๋ค๊ฐ ๊ตฌ๊ธ๋ง์ ํ๊ณ @Valid์ @Validated๋ฅผ ์๊ฒ๋์ด์ ์ ์ฉ์ ํด๋ดค๊ณ ์ด๋ฅผ ๊ธฐ๋กํ๋ค. ๋ "", " ", null ์ด๋ ๊ฒ 3๊ฐ๋ง ์ฒดํฌํ๋ฉด ๋๋ ๋ถ๋ถ์ด์๋ค. ๊ฒฐ๋ก ์ ์คํ๋ง๋ถํธ์์ @Valid์ @Validated 2๊ฐ๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋จํ ์ ํจ์ฑ ์ฒดํฌ๋ฅผ ํ ์ ์์ @Valid ๐ฅฐ @Valid๋ JSR-303 Bean Validator๋ฅผ ์ด์ฉํด์ ์ ํจ์ฑ์ ์ฒดํฌํ๋ ์ด๋ ธํ ์ด์ ์(์๋ฐ ํ์ค ์คํ) ์ฌ์ฉ๋ฒ ์คํ๋ง๋ถํธ ๋ฒ์ ์ ๋ฐ๋ฅธ ์์กด์ฑ ์ถ๊ฐ ์ฌ์ฉํ๋ ์คํ๋ง ๋ถํธ ๋ฒ.. IT/development 2022. 11. 22. [mybatis] mybatis ๋์ ์ฟผ๋ฆฌ(feat. <where></where>) mybatis Dynamic SQL ๐๊ณ์ ์ค์ ํ๋ ๋์ ์ฟผ๋ฆฌ์ด๋ค.์ค๋ ๋๋ ์ด๊ฑธ ์ดํด ํ์ง๋ง ๋ฏธ๋์ ๋ ๋ ๊น๋จน์ ์ ์์ผ๋ ์ฌ๊ธฐ์ ๋ฉ๋ชจํด ๋๋ค.๋์ WHEREํ์ ํ ์ด๋ธ์์ ํ์์ด๋ฆ๊ณผ ์ด๋ฉ์ผ์ ์กด์ฌ์ ๋ฐ๋ผ ๋์ ์ผ๋ก WHERE์ ๋ถ์ฌ์ ๊ฒ์ํ๋ ์์์ด๋ค.๊ธฐ์กด์๋ mapper xml์์ ์๋์ฒ๋ผ ์์ฑํ์๋ค. ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ๋ ๋ฐ๋์ ๋จ์ ํ ์คํธ๋ฅผ ์ฌ๋ฌ๋ฒ ํด๋ด์ผ ํ๋ค๋ ๊ฑธ ๋ ๊นจ๋ฌ์๋ค.(๊ทธ๊ฑธ ์ด์ ์์๋? ๐ฅ) SELECT * FROM member WHERE member_name = #{memberName} WHERE email = #{email} ์ญ์ ๊ฐ๋ฐํ๋ฉด์ JUnit์ผ๋ก ๋จ์ ํ ์คํธ๋ฅผ ๊ณ์.. IT/development 2022. 11. 20. ์ด์ 1 ๋ค์