์ ์ฒด ๊ธ(210)
-
์ผํ๋ชฐ ํ๋ก์ ํธ(14) ๊ด๋ฆฌ์ ๋ฉ๋ด - ์ฃผ๋ฌธ ๊ด๋ฆฌ - ์๋ณ ๋งค์ถ ํํฉ(2) select ๋ฐ์ค ๋ณ๊ฒฝ ์ ๋ฐ์ดํฐ ์กฐํ
select ๋ฐ์ค ๋ณ๊ฒฝ ์ ๋ณ๊ฒฝ๋ ํด๋น๋ ๋ ์๋ณ ํ๋งค ๋ฐ์ดํฐ ์กฐํ. DateUtil ํด๋์ค์์ ์ฌํด์ ๋ ๋๋ฅผ ๋ฐ์์ค๋ ์ฝ๋ ์์ฑ. //์ฌํด์ ๋ ๋ public static int getYear() { Calendar cal = Calendar.getInstance(); return cal.get(Calendar.YEAR); } ์๋ณ ํํฉ ํ์ด์ง๋ก ์ค๋ controller์์ ์ฌํด ๋ ๋ ๊ฐ์ ธ์จ ํ html์ ๋๊ฒจ์ค. //์ฌํด ๋ ๋ ๋๊ธฐ๊ธฐ model.addAttribute("thisYear", DateUtil.getYear()); html์ ๋ ๋ ๋์ค๋ select ๋ฐ์ค ๋ง๋ค๊ธฐ. select ๋ฐ์ค์ ์ต์ ์ ์ฌํด ๋ ๋ ๋ฐ์ดํฐ ๋ฟ๋ ค์ค ์ฌํด๋ ๋์์ -5๋ ๊น์ง ๋ฐ์ดํฐ ์กฐํ ๊ฐ๋ฅํ๊ฒ ์์ฑํด์ผ ํจ. ๋ฐ๋ณต๋ฌธ ์ฌ์ฉํ์ฌ o..
2023.04.17 -
์๋ณ ๋ฐ์ดํฐ ๋ฝ๋ ์ฟผ๋ฆฌ๋ฌธ
EMP ํ ์ด๋ธ ์ฌ์ฉํ์ฌ ์๋ณ ๋ฐ์ดํฐ ๋ฝ๋ ์ฟผ๋ฆฌ๋ฌธ ์ฐ์ต. EMP ์ ์ฒด ํ ์ด๋ธ ๋ฐ์ดํฐ ํํฉ ์๋ณ ์ ์ฌ์ ์ ๋ฐ ์๋ณ ์ ์ฌ์๋ค์ด ๋ฐ๋ ๊ธ์ฌ์ ์ดํฉ์ ๊ตฌํ๋ ์ฟผ๋ฆฌ ์ฐ์ต. ์กฐ๊ฑด๋ณ๋ก ์ฐจ๊ทผ์ฐจ๊ทผ ์ฟผ๋ฆฌ๋ฌธ ์์ฑ. - ์๋ณ ์ ์ฌ์ ์กฐํ --์๋ณ ์ ์ฌ์ ์กฐํ SELECT EMPNO, ENAME , TO_CHAR(HIREDATE, 'MM') AS HIRE_MONTH FROM EMP; - ์๋ณ ์ ์ฌ์๋ฅผ ๊ทธ๋ฃนํจ์ ์ฌ์ฉํ์ฌ ๊ทธ๋ฃนํํ ํ ์กฐํ SELECT TO_CHAR(HIREDATE, 'MM') AS HIRE_MONTH FROM EMP GROUP BY TO_CHAR(HIREDATE, 'MM') ORDER BY HIRE_MONTH; - ์๋ณ ์ ์ฌ์ ์ ๋ฐ ์๋ณ ์ ์ฌ์๋ค์ด ๋ฐ๋ ๊ธ์ฌ์ ์ดํฉ ์๋ณ ์ ์ฌ์ ๋ชฉ๋ก์ COUNT ์ฌ์ฉํ์ฌ ๊ทธ ์..
2023.04.15 -
์ผํ๋ชฐ ํ๋ก์ ํธ(14) ๊ด๋ฆฌ์ ๋ฉ๋ด - ์ฃผ๋ฌธ ๊ด๋ฆฌ - ์๋ณ ๋งค์ถ ํํฉ
์๋ณ ํํฉ ํ์ด์ง ์์ฑ controller ๊ฒฝ๋ก ์ด๋ ์ค์ //์๋ณ ํํฉ ํ์ด์ง @GetMapping("/saleStatusPerMonth") public String saleStatusPerMonth(AdminSubMenuVO adminSubMenuVO) { return "content/admin/sale_status_per_month"; } sale_status_per_month.html ์์ฑ admin_layout ์ฐ๊ฒฐ ์ธํฐ์ ํฐ์์ ์๋ธ ๋ฉ๋ด ๋ฐ ์๋จ ๋ฉ๋ด ๊ฐ์ด ๋จ๊ฒ ์ฝ๋ ์ถ๊ฐ @Override public void addInterceptors(InterceptorRegistry registry) { //์๋์ ๊ฐ์ฒด ์๋ก ๋ง๋๋ ๋ฉ์๋ ์คํ registry.addInterceptor(getMenuI..
2023.04.14 -
SELECT ๊ทธ๋ฃน ํจ์
SELECT * FROM EMP; -- ๊ทธ๋ฃน ํจ์ -- ๋ชจ๋ ์ฌ์์ ๊ธ์ฌ์ ์ดํฉ SELECT SUM(SAL) FROM EMP; ๋ถ์๋ณ๋ก ๊ธ์ฌ์ ์ดํฉ, ๊ธ์ฌ์ ํ๊ท , ๋ถ์์ ์ ์กฐํ GROUP BY๋ฅผ ์ฐ๋ฉด SELECT ์ ์ ์ฌ ์ ์๋ ์ปฌ๋ผ์ด ํน์ ๋จ. 1.๊ทธ๋ฃนํํ ์ปฌ๋ผ(์ค์ ๋ก ๊ทธ๋ฃน์ ๊ธฐ์ค์ด ๋๋ ์ปฌ๋ผ) 2.๊ทธ๋ฃนํจ์(SUM, AVG, COUNT ...) SELECT DEPTNO, SUM(SAL), AVG(SAL), COUNT(EMPNO) FROM EMP GROUP BY DEPTNO; ์ง๊ธ๋ณ ์ธ์์ ๋ฐ ํด๋น ์ง๊ธ์์ ๊ฐ์ฅ ๋์ ๊ธ์ฌ ๋ฐ ๊ฐ์ฅ ๋ฎ์ ๊ธ์ฌ๋ฅผ ์กฐํ ๋จ, ์ง๊ธ์ด '์ฌ์ฅ'์ธ ์ฌ๋ ์ ์ธ WHERE์ ์ FROM์ ๋ฐ๋ก ๋ฐ์ ์์ฑ. SELECT JOB, MAX(SAL), MIN(SAL), COUNT(JOB)..
2023.04.13 -
์ผํ๋ชฐ ํ๋ก์ ํธ(13) ๊ด๋ฆฌ์ ๋ฉ๋ด ๋ณด์
๊ด๋ฆฌ์๋ก ์ ์ ์ ์๋จ ๋ฉ๋ด ์ํ๊ด๋ฆฌ ํ์๊ด๋ฆฌ ์ฃผ๋ฌธ๊ด๋ฆฌ ํด๋ฆญ ์ ๊ฐ๊ฐ์ ์๋ธ๋ฉ๋ด ํ์ด์ง๋ก ์ด๋ํ๊ฒ ์ค์ . DB์ ์๋ธ ๋ฉ๋ด insert --ํ์๊ด๋ฆฌ ๋ฉ๋ด์ ์๋ธ ๋ฉ๋ด ๋ฑ๋ก INSERT INTO ADMIN_SUB_MENU VALUES ('SUB_MENU_004', 'ํ์ ๊ด๋ฆฌ', '/memberManage', 'MENU_002'); INSERT INTO ADMIN_SUB_MENU VALUES ('SUB_MENU_005', '๊ถํ ๊ด๋ฆฌ', '/authoManage', 'MENU_002'); --์ฃผ๋ฌธ๊ด๋ฆฌ ๋ฉ๋ด์ ์๋ธ ๋ฉ๋ด ๋ฑ๋ก INSERT INTO ADMIN_SUB_MENU VALUES ('SUB_MENU_006', '์ฃผ๋ฌธ ๊ด๋ฆฌ', '/orderManage', 'MENU_003'); INSERT INTO AD..
2023.04.13 -
์ผํ๋ชฐ ํ๋ก์ ํธ(13) ์ํ ์์ธ ํ์ด์ง ๋ฐ๋ก ๊ตฌ๋งค
๋ฐ๋ก ๊ตฌ๋งค ๊ธฐ๋ฅ ๋ฐ๋ก ๊ตฌ๋งค ์ ๊ตฌ๋งค insert ์ฟผ๋ฆฌ 2๊ฐ ์๋ํจ. 1. ์ ์ฒด ๊ตฌ๋งค ์ ๋ณด์์๋ buyCode, memId, buyPrice๊ฐ ํ์ buyCode, memId html์์ ๊ฐ์ ธ์ฌ ํ์ x buyPrice๋ html์์ ์๋์ ์ฌ๋ฆฌ๋ฉด ๋ฐ๋ก ์ด๊ธ์ก์ด ์ฌ๋ผ๊ฐ์ง ์๊ธฐ ๋๋ฌธ์ ์๋ ๋ฐ์ดํฐ * ๋จ๊ฐ = ์ด ๊ตฌ๋งค๊ฐ๊ฒฉ์ผ๋ก ๊ตฌํด์ผ ๋จ. 2. ์์ธ ๊ตฌ๋งค ์ ๋ณด์์๋ ํด๋น ์ํ์ itemCode ํ์. buyCnt๋ html์์์ ์๋ ์ ๋ณด์ ๊ฐ๊ณ buyCode ์ ์ฒด ๊ตฌ๋งค ์ ๋ณด์์ ๊ฐ์ ธ์ค๋ฉด ๋จ detailBuyPrice๋ ์ ์ฒด ๊ตฌ๋งค ์ ๋ณด์์ buyPrice๋ ๊ฐ๋ค. >๊ตฌ๋งคํ๋ ์ํ ํ๋์ด๊ธฐ ๋๋ฌธ์ ์ ๋ฆฌํ๋ฉด ๋ฐ๋ก ๊ตฌ๋งค ์ ํ์ ๋ฐ์ดํฐ๋ ๋จ๊ฐ, ์๋, ์ํ์ฝ๋. ์๋ ๋ฐ์ดํฐ ๋๊ธฐ๊ธฐ ์ํด ์๋ input ํ๊ทธ for..
2023.04.13 -
์ผํ๋ชฐ ํ๋ก์ ํธ(12) ํ์ MY PAGE - ๊ตฌ๋งค ๋ด์ญ (2) ๊ฒ์ ๊ธฐ๋ฅ (๋ณด์)
---ํ์ฌ๊น์ง ๋ถ์กฑํ ๊ธฐ๋ฅ ๊ตฌ๋งค ๋ชฉ๋ก ํ์ด์ง์ ๋ฉ๋ด ๋์ฐ๊ธฐ > interceptorConfig์ ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํํ ๋ ๊ตฌ๋งค ๊ด๋ จ ํ์ด์ง ๋ค์ด๊ฐ๋ ๊ฒฝ์ฐ๋ ์ถ๊ฐ ํ์์ด ๋ณด๋ ์ฌ์ด๋ ๋ฉ๋ด ํด๋ฆญ ์ ํด๋น ๋ฉ๋ด ํ๋์ ๋ณ๊ฒฝ personal_side.html์์ ๋ฉ๋ด์ active ์์ฑ์ ๋ฃ์ผ๋ฉด ํด๋ฆญ ์ ์ ๋ฐ๋. ์ด๋ค ๋ฉ๋ด๋ฅผ ํด๋ฆญํด์ ํด๋น ํ์ด์ง์ ์๋์ง ์ ์ ์๋๋ก ๋ฐ์ดํฐ ๋๊ธฐ๋ ์์ ํ์. db ์์ ํด์ ๋ฉ๋ด ๋ถ๋ฌ์จ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ์์์ ๊ฐ ์ง์ . ์ฅ๋ฐ๊ตฌ๋ ๋ชฉ๋ก ๊ตฌ๋งค ๋ด์ญ ๊ฐ์ธ์ ๋ณด์์ BuyController ์์ฑ 1.๊ตฌ๋งค๋ด์ญ ๋ฉ๋ด ์์ ํด๋น ํ์ด์ง ์ค๋ controller ์์ ๋งค๊ฐ๋ณ์๋ก String personalMenu ๋ฃ๊ธฐ. ๋ฐ์์จ ๋ฐ์ดํฐ html๋ก ๋๊ฒจ์ฃผ๋ฉด ๊ฐ์ด ํ๋ฉด ์ด๋ฆฌ๋ personal..
2023.04.13 -
์ผํ๋ชฐ ํ๋ก์ ํธ(12) ํ์ MY PAGE - ๊ตฌ๋งค ๋ด์ญ (2) ๊ฒ์ ๊ธฐ๋ฅ
๊ตฌ๋งค ๋ด์ญ ๊ธฐ๊ฐ๋ณ ๊ฒ์ ๊ธฐ๋ฅ ์ ์ฒด, ์ต๊ทผ1๊ฐ์, ์ต๊ทผ 3๊ฐ์ ๋ฒํผ input ํ๊ทธ๋ก ์์ฑ input ํ๊ทธ type date๋ก ๊ธฐ๊ฐ ์ค์ ํ ์ ์๊ฒ ์์ฑ. n๊ฐ์ ๋ฒํผ, ํน์ ์ง์ ๊ธฐ๊ฐ ์ค์ ํ์ฌ ๊ฒ์ ๋ฒํผ ๋๋ฅด๋ ์๋ ๊ตฌ๋งค๋ด์ญ ํ์ด์ง๋ก ๋์์ค๋ฉด ๋จ. ๊ฐ ๋ฒํผ ํจ์๋ก js ์ฐ๊ฒฐ js์ ํจ์ ์์ฑ //๊ธฐ๊ฐ๋ณ ๊ตฌ๋งค ๋ด์ญ ์กฐํ (3๊ฐ์ ๊ธฐ๊ฐ ๋ฒํผ ํด๋ฆญ) function getBuyList(month){ //form ํ๊ทธ ์ ํ const month_form = document.querySelector('#month-form'); //form ํ๊ทธ ์์ value์ ๊ฐ๊ฐ ๋ฒํผ ํด๋ฆญ ์ ๋งค๊ฐ๋ณ์๋ก ๋์ด์จ 0, -1, -3์ด ๋ค์ด๊ฐ. month_form.querySelector('input').value = month;..
2023.04.12 -
์ผํ๋ชฐ ํ๋ก์ ํธ(12) ํ์ MY PAGE - ๊ตฌ๋งค ๋ด์ญ
MY PAGE ํด๋ฆญ ์ฌ์ด๋๋ฉ๋ด ๊ตฌ๋งค๋ด์ญ ํญ ๋๋ฅด๋ฉด bootstrap Components ํญ์ Accordion Always open ์์ค ์ฌ์ฉ. ์๋ ์ฒ๋ผ ๊ตฌ๋งค ๋ด์ญ์ฐฝ ๊ตฌํ. personal_side.html์์ ํ์ด์ง ์ด๋ ์ค์ . ๊ตฌ๋งค๋ด์ญ ์๋ธ ๋ฉ๋ด aํ๊ทธ ๊ฐ์ธ์ฃผ๊ธฐ. ๊ตฌ๋งค ๋ด์ญ BuyController ์์ฑ. ํ์ด์ง ์ด๋ ๊ฒฝ๋ก ์ค์ //๊ตฌ๋งค ๋ด์ญ ํ์ด์ง @GetMapping("/buyList") public String buyList() { return "content/buy/buy_list"; } content-buy-buy_list.html ์์ฑ ํ๋ฉด ๊ฐ์ด ์ด๋ฆฌ๋ personal_layout ์ฐ๊ฒฐ ๊ตฌ๋งค ๋ด์ญ ์กฐํ ๊ธฐ๋ฅ ๊ตฌ๋งค ์ ๋ณด ์กฐํ ์ฟผ๋ฆฌ ์์ฑ (์กฐ์ธ ์ฌ์ฉ) SELECT BUY.BUY_CODE , ..
2023.04.11