mybatis SQL4 [mybatis] mybatis ๋์ ์ฟผ๋ฆฌ ์์ฑ ์ "," ๊ด๋ จ ๋ชฉ์ฐจ ์ฌ์ํ ์ ์์ง๋ง ์ด์ ๋ฅผ ๋ชฐ๋ผ์ ์ฟผ๋ฆฌ ์์ฑ ์ ์๋ฌ ๋๋ฌธ์ ์๊ฐ์ ์ก์ ๋จน์ด์ ์ญ์๋ ๋ฏธ๋์ ๋ด๊ฐ ๋ณด๊ธฐ์ํด ๊ธฐ๋กํ๋ค. ์๋ฅผ ๋ค์ด ์์ ๊ฐ์ ์ฟผ๋ฆฌ๊ฐ ์์ ๋ parameter๊ฐ์ ๋ฐ๋ผ ๋์ ์ผ๋ก SQL์ ์์ฑ ์ SELECT๋ฌธ ์ปฌ๋ผ ๋ค์ชฝ์ ","๋ฅผ ๋ฃ์ผ๋ฉด ๋ฌธ๋ฒ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ๋์ด์จ member_id๊ฐ์ด ์์ผ๋ฉด , mcm.etc๊ฐ ๋ถ๋ ๋ฐ ๋ง์ผ ์์ ์ฟผ๋ฆฌ๊ฐ ์๋์ ๊ฐ๋ค๋ฉด ๋์ ์ฟผ๋ฆฌ๋ฅผ ๋ถ์ด์ง ๋ชปํ๋ค. select m.*, mcm.tag_type, mcm.tag_name, mcm.etc FROM member m LEFT OUTER JOIN member_code_mapping ON m.member_seq = mcm.member_seq LIMIT #{start}, #{length} ์ด ๊ฒฝ์ฐ๋ ๋์ด์จ membe.. IT/development 2022. 11. 22. [mybatis] ์์ธ ์กฐํ ์ ๋ณต์๊ฐ ์ถ๊ฐ ์กฐํ(feat. vo & map) ๋ชฉ์ฐจ ์์ธ ์กฐํ ์ ๋ณต์๊ฐ ์ถ๊ฐ ์กฐํ ๐ ๊ธฐ์กด ์์ธ์กฐํ API์์ ์์ธ ์กฐํ ์ ํด์ํ๊ทธ์ ๊ฐ์ ๋ณต์๊ฐ์ ์ถ๊ฐ๋ก ์กฐํํด์ผ ๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ฒผ๋ค. ๊ฐ์ ธ์์ผ ๋๋ ํ๋๊ฐ์ 2๊ฐ๋ฐ์ ์๋๋ฏ๋ก ์ถ๊ฐ๋ก vo๋ฅผ ๋ง๋ค๊ณ ์ถ์ง ์์ ์๋์ฒ๋ผ ์์ ํ๋ค. Controller ๊ธฐ์กด์๋ Controller์์ return์ผ๋ก VO๋ก๋ง ๋ฐ์๋ ๊ฑธ map์ผ๋ก ๋ฐ๋๋ก ๋ณ๊ฒฝ, VO๊ฒฐ๊ณผ์ tag๋ฆฌ์คํธ ๊ฒฐ๊ณผ๋ฅผ map์ ๋ด์์ ์ต์ข ์ ์ผ๋ก return /** * ์์ธ * @param * @param * @return */ @Operation(summary = "๋ฉค๋ฒ ์์ธ ์กฐํ", description = "๋ฉค๋ฒ๋ฅผ ์์ธ ์กฐํํ๋ค.") @Parameters({@Parameter(name = "mem_no", description = "ํ์ ์ผ๋ จ.. IT/development 2022. 11. 22. [mybatis] mybatis ์ด์ค foreach insert(feat. ์ด์ค ๊ณ์ธต ๊ฐ์ฒด ์ ์ฅ) mybatis๋ฅผ ์ด์ฉํด์ ๊ณ์ธต ๊ตฌ์กฐ์ DTO ํน์ VO๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํ๋ค.๋์ DBMS: mysql, mariaDB์๋์ฒ๋ผ ๊ฐ์ฒด๊ฐ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ด๋ค.(์๊ฐ ์ ์ฝ๋ ์์ฃผ๋ก ์ต๋ํ ์ฌํํ๊ฒ ์ ๋ฆฌ)๋ง๋ธ ์บ๋ฆญํฐ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ์คํ API๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๊ณ API ๊ฒฐ๊ณผ๋ฅผ list์ ๋ด์ ๋ฃจํ๋ฅผ ๋๋ ค ๊ฐ์ฒด์ ์ธํ ํ ๋ค DB์ ์ ์ฅํ๋ ๋ก์ง ์์(์์ ์ฝ๋ฉ ๐ )// ๋ฉ์ธ๊ฐ์ฒด@Getter@Setterpublic class TestVO { private Long mem_no; private String data_type; private String code; .. IT/development 2022. 11. 21. [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 ๋ค์