๐พBackEnd(17)
-
MySQL ์์ง ์ํคํ ์ฒ
๐ฉ MySQL ์์ง ์ํคํ ์ฒ MySQL์ํคํ ์ฒ์ ๋ํด ์์๋ณด์ MySQL ์๋ฒ๋ ํฌ๊ฒ MySQL ์์ง + ์คํ ๋ฆฌ์ง ์์ง์ด ์๋ค. MySQL์์ง ํฌ๊ฒ 3๊ฐ์ง ๊ธฐ๋ฅ์ ํ๋ค. (์ฟผ๋ฆฌ ํ์ฑ, ์ฟผ๋ฆฌ ์คํฐ๋ง์ด์ง, ์ฟผ๋ฆฌ ์คํ์ ํ๋ค.) ์ฟผ๋ฆฌ ํ์ฑ ๊ฐ๋ฐ์๊ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก DB์ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด๋ฉด SQL์ด ์ดํด ๊ฐ๋ฅํ๊ฒ ๋ณ๊ฒฝํ๋ค. ์ฟผ๋ฆฌ ์คํฐ๋ง์ด์ง ํ์ฑ์ ํตํด ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ์คํฐ๋ง์ด์ง์ ํ์ฌ ์ต์ ํ๋ฅผ ํ๋ค. ์ฟผ๋ฆฌ ์คํ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ค. ์คํ ๋ฆฌ์ง ์์ง MyISAM ์ฒ์์ ๊ธฐ๋ณธ ์์ง์ผ๋ก ์ฌ์ฉ์ ํ์๋ค. ํค ์บ์ฑ์ด๋ผ๋ ์ฅ์ ์ ๊ฐ์ง๋ฉฐ ํธ๋์ญ์ ์ ์ง์ํ์ง ์๋๋ค. InnoDB ๋ฒํผ๋ง, FK์ ์ฝ ์กฐ๊ฑด, ์ถฉ๋ ๋ณต๊ตฌ, ํธ๋์ญ์ ์ ์ง์ํ์ฌ ์ฃผ๋ก InnoDB๋ฅผ ์ฌ์ฉํ๋ค. ๋ฉ๋ชจ๋ฆฌ ์บ์๋ฅผ ํตํ์ฌ ๋์คํฌI/O ์์ ์ ์ค์ฌ ์ฑ๋ฅ์ ํฅ์(๋ฒํผ ํ)..
2023.02.10 -
JPA ์์์ฑ ์ปจํ ์คํธ
EntityManager Factory EMF๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ผ๋ฉด Entity Manager๋ฅผ ์์ฑ์ ํด์ฃผ๋ ์ญํ ์ ํ๋ค. ์ดํ EM์ด ์ปค๋ฅ์ ํ์ ์ด์ฉํ์ฌ DB์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค. ์์์ฑ ์ปจํ ์คํธ( ์ํฐํฐ๋ฅผ ์๊ตฌ ์ ์ฅํ๋ ํ๊ฒฝ) ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ด์ ๊ฐ์ฒด๋ฅผ ๋ณด๊ดํ๋ ๊ฐ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ์ญํ ์ ํ๋ค. ์ํฐํฐ์ ์๋ช ์ฃผ๊ธฐ ๋น์์ ์์์ฑ ์ปจํ ์คํธ์ ๊ด๊ณ๊ฐ ์๋ ์๋ก์ด ์ํ Member m = new Member(); member.setId("1"); ์์ ์์์ฑ ์ปจํ ์คํธ์ ๊ด๋ฆฌ๋๋ ์ํ Entity Manager์ ์์์ฑ ์ปจํ ์คํธ๋ฅผ ํตํด์ Entity๊ฐ ๊ด๋ฆฌ๊ฐ ๋๋ค. Member member = new Member(); member.setUserName("๊น๋ฌด๊ฑด"); member..
2023.02.04 -
๋๋ค์ ๋ก์ปฌ ๋ณ์ - Effectively Final
Effectively Final Java8์์ final์ด ๋ถ์ง ์์ ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋์ง ์๋๋ค๋ฉด, ๊ทธ ๋ณ์๋ฅผ Effectively final์ด๋ผ๊ณ ํฉ๋๋ค. ๋๋ค์์๋ ์ฌ์ฉํ ์ ์๋ ๋ก์ปฌ ๋ณ์๋ Effectively Final๋ง ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. public class EffectivelyFinal { public static void main(String[] args) { new Pint().go(); } } class Pint { void go() { int baseAnInt = 111; Function function = (num) -> num + baseAnInt; System.out.println(baseAnInt+"baseAnInt"); System.out.println(function.a..
2023.01.28 -
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ & ๋๋ค
๐ถ๐ซ๏ธํจ์ํ ํ๋ก๊ทธ๋๋ฐ Java๋ ๊ฐ์ฒด์งํฅ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ๋ถ๊ฐ๋ฅํ๋ค. ํ์ง๋ง JDK8๋ถํฐ Stream API์ ๋๋ค์, ํจ์ํ ์ธํฐํ์ด์ค ๋ฑ์ ์ง์ํ๋ฉด์ Java๋ฅผ ์ด์ฉํด ํจ์ํ์ผ๋ก ํ๋ก๊ทธ๋๋ฐํ ์ ์๋ API ๋ค์ ์ ๊ณตํด์ฃผ๊ณ ์๋ค. First Class Citizon First Class Citizon ์ ์๋์ ์์ฑ๋ค์ ๋ชจ์ฃผ ๋ง์กฑํด์ผ ํฉ๋๋ค. • ๋ณ์์ ๊ฐ์ ํ ๋นํ ์ ์์ด์ผ ํฉ๋๋ค. • ํจ์์ ํ๋ผ๋ฏธํฐ๋ก ๋๊ฒจ์ค ์ ์์ด์ผ ํฉ๋๋ค. • ํจ์์ ๋ฐํ๊ฐ์ด ๋ ์ ์์ด์ผ ํฉ๋๋ค. https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html Function (Java Platform SE 8 ) doc..
2023.01.28 -
SPRING ์ฟผ๋ฆฌ๋ฅผ 2๊ฐ๋ฅผ 1๊ฐ๋ก ์ค์ด๋ Merge ์ด์ฉํ๊ธฐ
Merge๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ์ค์ด๊ณ ๊ฐ๋ ์ฑ์ ๋์ผ ์ ์๋ค. ์์ง ์์ํ์ง๋ง ๊ณ์ ๋ ธ๋ ฅ์ ํด์ผ๋๊ฒ ๋ค. 1.์ผ๋จ ์ฟผ๋ฆฌ์ ๋ํด์ ์์ฑํ๋ค. sql --1 SELECT PROD_NAME prodName , SUM(PROD_SALE * CART_QTY) money FROM PROD, CART WHERE PROD_ID = CART_PROD GROUP BY PROD_NAME HAVING SUM(PROD_SALE * CART_QTY) >= 10000000; --merge : LPRODํ ์ด๋ธ์ LPROD2ํ ์ด๋ธ๋ก ๋ณต์ ํด๋ณด์ --2 CREATE TABLE LPROD2 AS SELECT * FROM LPROD; --MERGE --3 MERGE INTO LPROD2 A --๋์ ํ ์ด๋ธ USING DUAL ON (A.LP..
2022.11.26