๊ฐœ๋ฐœ.log/database 3

[Mybatis][Mysql] <[![CDATA[…]]> ์‚ฌ์šฉ๋ฒ•/CDATA ๊ผญ ์จ์•ผํ•˜๋‚˜?/XML Parser ๋ฌธ์ž์—ด์ธ์‹

๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  Back logic์„ ์ž‘์„ฑํ•  ์ผ์ด ๋งŽ์•„์ง€๋Š”๋ฐ ๊ทธ๋•Œ, SQL Mapper๋กœ MyBatis๋ฅผ ์“ฐ๋ฉด์„œ mapper.xml ํŒŒ์ผ์— ๋ผ๊ณ  ์“ฐ์ธ ๊ฒƒ์„ ์ž์ฃผ ๋ณด์•˜์„ ๊ฒƒ์ด๋‹ค. [๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋œฌ๊ธˆ์—†๋Š” ํ˜ธ๊ธฐ์‹ฌ 1ํƒ„] Mybatis ๋ชจ๋“  ์ฟผ๋ฆฌ๋ฌธ์— ๊ผญ CDATA๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ• ๊นŒ? CDATA ๋ž€? ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ '', '&'๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ xml์—์„œ ๊ทธ๋ƒฅ ์‚ฌ์šฉํ•˜๋ฉด mapper์— ์ž‘์„ฑ๋œ , ์™€ ๊ฐ™์€ ํƒœ๊ทธ๋กœ ์ธ์‹ํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด mapper.xml์— ์ž‘์„ฑ๋œ ํƒœ๊ทธ ๊ด„ํ˜ธ์™€ ๋‹ฌ๋ฆฌ ์ด ๋“ฑํ˜ธ๋Š” '์ฟผ๋ฆฌ์— ํ•„์š”ํ•œ ์ฝ”๋“œ'๋ผ๊ณ  ์•Œ๋ ค์ค˜์•ผ ํ•œ๋‹ค. ๊ทธ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ด๋‹ค. ์‚ฌ์šฉ๋ฒ• XML์—์„œ ํŒŒ์‹ฑ ํ•  ๋Œ€์ƒ์œผ๋กœ ์ธ์‹ํ•˜์ง€ ํ•˜์ง€ ์•Š๋„๋ก ๊ทธ ๊ตฌ์—ญ์„ ์ง€์ •ํ•ด ์ฃผ๋Š” ๊ฒƒ์ด CDATA์ด๋‹ค. XML๋กœ ํŒŒ์‹ฑ์„ ์›ํ•˜์ง€..

[Mysql][MariaDB] ์„œ๋กœ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ” ๋™์‹œ์— UPDATE ํ•˜๋Š” ๋ฒ•/๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜์—ฌ UPDATE ํ•˜๋Š” ๋ฐฉ๋ฒ•

ํ•˜๋‚˜์˜ Model DTO์— ๋‹ด๊ธด ๋ฐ์ดํ„ฐ๋กœ ๋‘ ๊ฐœ์˜ UPDATE ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผํ•œ๋‹ค๋ฉด? ์ง€๊ธˆ๊นŒ์ง€๋Š” ์ •์„๋Œ€๋กœ 2๊ฐœ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด์™”๋‹ค. ํ•˜์ง€๋งŒ, ๋ญ”๊ฐ€ ๊ท€์ฐฎ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค... ๊ทธ๋ฆฌ๊ณ  DTO๋ฅผ ์ค‘๋ณตํ•ด์„œ ๋„˜๊ฒจ์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๋ญ”๊ฐ€ ๋ถˆํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค... ํ•œ๋ฒˆ ์ž‘์„ฑํ•œ DTO parameter ์ฝ”๋“œ๋ฅผ ์ค‘๋ณตํ•˜์ง€ ์•Š๊ณ  ํ•œ๋ฒˆ์— ์ฟผ๋ฆฌ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์“ฐ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์•ผํ• ๊นŒ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. Oracle, MS-SQL, Maria DB, Mysql DBMS๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ฌธ๋ฒ•์„ ์ง€์›ํ•˜๋ฏ€๋กœ ๋ฐฉ๋ฒ•๋„ ๊ฐ์ž ๋‹ค๋ฅด๋‹ˆ ๋ณธ์ธ ์ƒํ™ฉ์— ๋งž๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•œ๋‹ค MySQL and MariaDB UPDATE SR0001 a, SR0002 b SET a.dstba = #{dstba} b.t..

[ORACLE] PL/SQL(Procedural Language/SQL)์ด๋ž€?

DataBase ํ•˜๋ฉด Oracle. ๊ฑฐ์˜ ์ˆ˜์‹์–ด์ฒ˜๋Ÿผ ๋งํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์—ฌ๋Š ๋•Œ์™€ ๋‹ค๋ฆ„์—†์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋˜ ์ค‘ Oracle์ด๋ผ๋Š” PL/SQL์„ ์ฒ˜์Œ ๋“ฃ๊ฒŒ ๋˜์—ˆ๋‹ค. PL/SQL ์ด๋ž€? SQL์„ ํ™•์žฅํ•œ ์ ˆ์ฐจ์  ์–ธ์–ด(Procedural Language) ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‚ฌ์šฉ๋˜๋Š” Oracle์˜ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์–ธ์–ด์ด๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด SQL์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•œ SQL์˜ ํ™•์žฅํŒ์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค. PL/SQL์€ ๋ธ”๋กํ˜• ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ์Šค์Šค๋กœ๊ฐ€ ์ปดํŒŒ์ผ ์—”์ง„์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ DML๊ณผ Query๋ฌธ, ์ ˆ์ฐจํ˜• ์–ธ์–ด(IF๋ฌธ, LOOP) ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•œ ๊ฐ•๋ ฅํ•œ ํŠธ๋žœ์žญ์…˜ ์–ธ์–ด์ด๋‹ค. ์žฅ์  ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  PL/SQL์˜ ํŠน์ง• ์ค‘ ํ•˜๋‚˜์ธ ๋ธ”๋กํ˜• ๊ตฌ์กฐ๊ฐ€ ์ฃผ๋ชฉ๋ฐ›๋Š” ์ด์œ ๋Š” ๋‹ค์ˆ˜์˜..