์ ์ฒด ๊ธ(210)
-
โ select-join
EMP ํ ์ด๋ธ์์ ์ฌ์์ ๋ถ์๋ช ์ด ๋ฌด์์ธ์ง ์ ์ ์์๊น? SELECT * FROM EMP; SELECT * FROM DEPT; EMP๋ฅผ ์กฐํํด์๋ ์ฌ์๋ค์ ๋ถ์๋ฒํธ๋ ์กฐํ ๊ฐ๋ฅํ์ง๋ง ๋ถ์๋ช ์ด ๋ฌด์์ธ์ง ์ ์ ์์. ๋ถ์๋ช ์ DEPT์ ์ ๋ณด๊ฐ ์๊ธฐ ๋๋ฌธ์ 2๋ฒ ์กฐํํด์ผ ํจ. ์กฐ์ธ ํ์ต์ ์ํ ์ฌ์ ์ง์ SELECT EMP.EMPNO, EMP.ENAME, EMP.SAL FROM EMP; ์ ์ฟผ๋ฆฌ ๊ฐ๋ฅ! ์ปฌ๋ผ๋ช ์์๋ ํ ์ด๋ธ๋ช ์ด ์จ์ด์ ธ ์์ด์ ํํํด๋ ์ฟผ๋ฆฌ ์คํ ๋จ. ํ ์ด๋ธ๋ช ์ ๋ณ์นญ๋ ์ค ์ ์๋ค! AS๋ ์๋ตํจ SELECT E.EMPNO, E.ENAME, E.SAL FROM EMP E; ์ฌ์๋ค์ ์ฌ๋ฒ, ์ฌ์๋ช , ๋ถ์๋ฒํธ, ๋ถ์๋ช , ๋ถ์์ง์ญ ์กฐํํด๋ณด์ SELECT EMPNO , ENAME , DEPTNO ,..
2023.02.27 -
๊ฒ์ํ ํ๋ก์ ํธ
ํ ์ด๋ธ : ํ์, ๊ฒ์๊ธ, ๋๊ธ์ ๋ณด ๊ด๋ฆฌ์ : ๋ชจ๋ ๊ธ ๊ด๋ฆฌ ๊ฐ๋ฅ ์์ฑ์ : ๋ณธ์ธ ์์ฑ ๊ธ๋ง ๊ด๋ฆฌ ๊ฐ๋ฅ ๊ฐ๊ฐ์ ํ ์ด๋ธ ์์ฑ ๊ฒ์ํ ํ ์ด๋ธ ์์ฑ์ ๊ฒ์๊ธ์ ์์ฑ์๋ BOARD_MEMBER ํ ์ด๋ธ์ MEM_ID ์ปฌ๋ผ๊ณผ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ง ๋ค์ด๊ฐ ์ ์๋ค. ์ ์ฝ ์กฐ๊ฑด : REFERENCES BOARD_MEMBER (MEM_ID) >> ์ธ๋ํค(FK) ์ ์ธ๋ฐฉ๋ฒ : REFERENCES ์ฐธ์กฐํ๋ ํ ์ด๋ธ๋ช (์ฐธ์กฐํ๋ ์ปฌ๋ผ๋ช ) ์ธ๋ํค๋ ์ฐธ์กฐํ๋ ํ ์ด๋ธ์ PK๋ง ์ฐธ์กฐ ๊ฐ๋ฅ. ๋๊ธ ์ ๋ณด ํ ์ด๋ธ ์์ฑ์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ดํด๋ฆฝ์ค๋ก ์์ ํ๋ก์ ํธ ์์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ด 3๊ฐ๋ฉด controller, dto, service, serviceImpl, 0000-mapper.xml ๋ค ํ ์ด๋ธ ๊ฐ์๋ ๋์ผํ๊ฒ! controller ์์ ์ฌ..
2023.02.23 -
ํฐํธ ๋ณ๊ฒฝ
ํฐํธ ๋ฌด๋ฃ ์์ ์ฌ์ดํธ : ๋๋ ํฐํธ ๊ณจ๋ผ์ ์น ํฐํธ๋ก ์ฌ์ฉ์ ์์ค ๋ณต์ฌ ๋ณต์ฌํ ์์ค๋ฅผ ์คํ์ผ ๋ฐ์ ๋ถ์ฌ๋ฃ๊ธฐ body ํ๊ทธ ์์ ๋ฃ์ผ๋ฉด ๋ค ์ ์ฉ ๋จ. ์คํ์ผ ์ ์ฉ์ body ํ๊ทธ๋ก ์ง์ ํด์ ๋ณต์ฌํด ์จ ์์ค์์ font-family : ~ ์ ์ฒด ๋ณต์ฌํด์ ๋ถ์ฌ ๋ฃ์ผ๋ฉด ์ ์ฉ ๋จ.
2023.02.23 -
template
์ฌ๋ฌ jsp๋ฅผ ์ฐ๊ฒฐ?ํด์ ๋ค๋ฅธ ํ๋์ jsp์์ ๋ณด์ผ ์ ์๊ฒ ํจ. template.jsp์์ menu.jsp์ main.jsp๋ฅผ ๊ฐ์ ธ์ด. ๊ฐ๋จํ๊ฒ ๋งํด menu์ main ํ์ผ์ ํต์ผ๋ก ๊ฐ์ ธ์์ template์์ ๋ณด์ฌ์ค๋ค๊ณ ์๊ฐํ๋ฉด ๋จ. template.jsp ํ์ผ์ ๋๋ค. ์๋์ ๊ทธ๋ฆผ ์ฒ๋ผ ๋ง๋ฆ. controller์ ํ์ด์ง ์ด๋ ๋ง์ง๋ง์ ๋๋ถ๋ถ template.jsp๋ก ๊ฐ > ์ ์ด์ ์๋ต ํ์ด์ง๋ฅผ template๋ก ์ค์ . if๋ฌธ ๋ง๋ค ํ์ด์ง ์ค์ ํ์ X ๋์ main ํ๋ฉด์ด ๊ณ์ ๋ฐ๋์ด์ผ ํจ > ๋ณ์(contentPage) ๋ง๋ค๊ณ ํ์ด์ง ์ด๋ ๋๋ง๋ค ๋ฐ๊ฟ์ค. contentPage๋ก ์ค ๋ณ์๋ ๋ฐ๋๋ ํ์ด์ง ์ ๋ณด๋ฅผ template.jsp ๋ค๊ณ ๊ฐ์ผ ๋๊ธฐ ๋๋ฌธ์ request.setAttribute(..
2023.02.23 -
session servlet
์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋์ง id,pw ์ ๋ณด๋ฅผ ํ๋ฒ ์ฝ์ ํ ๋ฒ๋ฆผ(? ๊ธฐ์ต์ ๋ชป ํจ. ๊ทธ ๋ค์ ๊ฐ์ id,pw๋ฅผ ๋์ ธ๋ ์ด์ ์ ๋ฐ์๋ ์ ๋ณด์ธ์ง ๋ชจ๋ฅธ๋ค ๊ทธ๋์ ํ๋ฒ ๋์ง๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ค๋ ๊ธฐ์ตํ ์ ์๊ฒ ์๋ฒ์ ์์ด๋ ๊ฐ์ ์ ์ฅํ๋ ๊ณต๊ฐ : session ํด๋ผ์ด์ธํธ์ ์ปดํจํฐ์ ์ ์ฅ : cookie ๋ฐ์ดํฐ๋ฅผ ์ธ์ ์ ์ ์ฅ 1. ์ธ์ ๊ฐ์ฒด๋ฅผ ์์ฑ HttpSession session = request.getSession(); 2. ์ธ์ ์ ๋ฐ์ดํฐ ์ ์ฅ session.setAttribute("name2", "python"); 3. ์ธ์ ์ ๋ฐ์ดํฐ ์ฝ์ด์ค๊ธฐ //()์์ ์ธ์ ์ ์ ์ฅ๋ ๋ฐ์ดํฐ ์ด๋ฆ ์ ๋ ฅ //MemberDTO m = session.getAttribute("member"); //์์์ ๋ถ๋ชจ๊บผ ๋ชป ๋ฐ์(๋ฆฌํดํ์ :์ค๋ธ..
2023.02.23 -
๋ง์ด ์ฐ๋ ํจ์
NVL ํจ์ : NVL(๊ฐ ํน์ ์ปฌ๋ผ, ์นํ ๊ฐ) NULL ๊ฐ์ ์ํ๋ ๊ฐ์ผ๋ก ์กฐํ. SELECT EMPNO , ENAME , COMM , NVL(COMM, 0) --, NUL(COMM, '์ธ์ผํฐ๋ธ ์์') COMM์ ์๋ฃํ์ด ์ซ์์ด๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๋จ. ์๋ฃํ ์ผ์น! FROM EMP; COMM์ด NULL์ด๋ฉด 0์ผ๋ก ์นํ ํ๋์ ์ปฌ๋ผ์ ์ซ์์ ๋ฌธ์๊ฐ ๊ฐ์ด ๋ค์ด๊ฐ๋ ๊ฒ์ด ์ ๋จ > ๊ทธ๋์ ์๋ฃํ ์ผ์นํด์ผ ํจ. NVL2 : NVL2(๊ฐ ํน์ ์ปฌ๋ผ, NULL์ด ์๋ ๋ ๊ฐ, NULL์ผ ๋ ์นํ ๊ฐ) SELECT COMM , NVL(COMM, 0) , NVL2(COMM, 1000, 0) , NVL2(COMM, '๋์ด ์๋', '๋์') --์๋ฃํ ์ผ์นํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ๋ฅ -- , NVL2(COMM, 1000, '..
2023.02.23 -
์น ๊ฐ๋ฐ ์ค์ต ํ์ ๊ด๋ฆฌ (Mybatis)
**๊ธฐ๋ณธ ์์ ์ปจํธ๋กค๋ฌ ๋ณต์ฌํด์ ๋ด์ฉ ๊ธฐ๋ณธ์ผ๋ก ๋ง์ถ๊ธฐ DTO ํด๋์ค ๋ง๋ค์ด์ ๋ณ์, getter, setter ๋ง๋ค๊ธฐ (์ค๋ฌด์์ ์์ฑ์ ์ ์ > ์ด์ ์๋ต) ์ด์ DAO ๋์ ํจํค์ง 2๊ฐ์ง ๋ง๋ค๊ธฐ service / sqlmap mybatis์์ง ํ์ผ ์ค sqlmap์ ๋ก๊ทธ ํ์ผ๊ณผ jar ํ์ผ ๋นผ๊ณ ๋ค ๋ณต์ฌ src/main~๋ฐ์ jar ํ์ผ ์๋ log ํ์ผ 1๊ฐ ๋ณต์ฌ ๋๋จธ์ง jar ํ์ผ lib ํด๋์ ๋ฃ๊ธฐ configuration.xml ๊ฐ์ ์๋ resource์์ member-mapper์์ -์์ ์ด๋ฆ์ ์์ ํด์ผ ๋จ. ์์ ์ด๋ฆ์ sqlmap ํจํค์ง ์๋ -mapper.xml ํ์ผ ์ด๋ฆ๊ณผ ๋์ผํ๊ฒ! service ํจํค์ง์ interface BoardService ๋ง๋ค์ด์ฃผ๊ธฐ. serviceImpl ..
2023.02.22 -
์น ๊ฐ๋ฐ ์ค์ต ๊ฒ์ํ ๋ง๋ค๊ธฐ (Mybatis ์ฌ์ฉ)
DAOํด๋์ค ๋์ ์๋ ๋๊ฐ์ง๋ฅผ ์ ์์ผ๋ก 1๋ฒ ์ฌ์ฉ! 1.Mybatis 2.JPA **๊ธฐ๋ณธ ์์ ์ปจํธ๋กค๋ฌ ๋ณต์ฌํด์ ๋ด์ฉ ๊ธฐ๋ณธ์ผ๋ก ๋ง์ถ๊ธฐ DTO ํด๋์ค ๋ง๋ค์ด์ ๋ณ์, getter, setter ๋ง๋ค๊ธฐ (์ค๋ฌด์์ ์์ฑ์ ์ ์ > ์ด์ ์๋ต) ์ด์ DAO ๋์ ํจํค์ง 2๊ฐ์ง ๋ง๋ค๊ธฐ service / sqlmap mybatis์์ง ํ์ผ ์ค sqlmap์ ๋ก๊ทธ ํ์ผ๊ณผ jar ํ์ผ ๋นผ๊ณ ๋ค ๋ณต์ฌ src/main~๋ฐ์ jar ํ์ผ ์๋ log ํ์ผ 1๊ฐ ๋ณต์ฌ ๋๋จธ์ง jar ํ์ผ lib ํด๋์ ๋ฃ๊ธฐ configuration.xml ๊ฐ์ ์๋ resource์์ member-mapper์์ -์์ ์ด๋ฆ์ ์์ ํด์ผ ๋จ. ์์ ์ด๋ฆ์ sqlmap ํจํค์ง ์๋ -mapper.xml ํ์ผ ์ด๋ฆ๊ณผ ๋์ผํ๊ฒ! service ..
2023.02.21 -
๋ก๊ทธ์ธ/ํ์๊ฐ์ ๋ฐ ์์ธ ์กฐํ ์ค์ต
**tip DTO ํด๋์ค ๋ง๋ค๊ณ ํ ์ด๋ธ์ ์ปฌ๋ผ๋ช ๊ณผ ๋์ผํ๊ฒ ๋ณ์ ๋ง๋ค ๋ ์ฌ์ด ๋ฐฉ๋ฒ : MYDB๋ก ํ ์ด๋ธ ๋๋ฅด๋ฉด ํ ์ด๋ธ๋ช ๋๋ฅด๋ฉด ์ปฌ๋ผ๋ช ๋ง ๋ณต์ฌ ๊ฐ๋ฅ ๋ณต์ฌํ ๊ฒ ํด๋์ค์ ๋ถ์ฌ ๋๊ณ Ctrl + Shift + Y๋ก ์๋ฌธ์๋ก ๋ฐ๊พผ ํ _๋ฅผ ์ญ์ ํ๊ณ ๊ทธ ๋ค๋ฅผ ๋๋ฌธ์๋ก ๋ฐ๊ฟ์ค ๋ค์ ์ ํํ๊ณ Alt + Shift + A ํ๋ฉด ๋๋๊ทธ ํ ์ ์๋ค. ๋ณ๊ฒฝํ๊ณ ์ถ์ ๋ฐ์ดํฐ ์์ ์ ์ผ๋ก ๋๋๊ทธ ํด์ฃผ๋ฉด ๋์์ ์ ๋ ฅ ๊ฐ๋ฅํจ ์ ๋ ฅ ํ ๋ค์ ๋ฒ์ด๋๋ ค๋ฉด ๋จ์ถํค ํ๋ฒ ๋ ๋๋ฅด๋ฉด ๋จ! dto์ ์์ฑ์ getter, setter ๋ง๋ ํ index.jsp ๋ง๋ค์ด์ ๋ฐ๋ก ๋ก๊ทธ์ธํผ์ผ๋ก ๊ฐ๊ฒ ํจ ์ปจํธ๋กค๋ฌ๋ก ๊ฐ์ login.jsp๋ก ํ์ด์ง ์ด๋ํ๊ฒ ์ค์ input์์ name์ dto์์ ๋ง๋ ๋ณ์๋ช ๊ณผ ๋์ผํ๊ฒ ์ค์ ํ ๊ฒ! submit ๊ณผ b..
2023.02.21