IT/development212 [springBoot] ํ์ด์ง๋ค์ด์ ์ฒ๋ฆฌ(feat. Oracle) xml /* ๊ฒ์๊ธ ๋ชฉ๋ก ์กฐํ */ (#{pageNum} -1) * #{amount} ]]> SELECT COUNT(*) FROM BOARD ์ค๋ผํด ํ์ด์ง๋ค์ด์ ์ฟผ๋ฆฌ ํต์ฌ ๋๋ณด๊ธฐ /* ์ํ SQL */ SELECT T2.rn , T2.id , T2.name , T2.email , TO_CHAR(T2.create_date, 'YYYY-MM-DD') AS createDate /* ์ฟผ๋ฆฌ์ ๊ฐ์ฅ ๋ฐ๊นฅ์ชฝ์์ ๋ ์ง -> ๋ฌธ์์ด ๋ณํ์ ํด์ฃผ๋๊ฒ ์ฑ๋ฅ์ ์ข๋ค๊ณ ํ๋ค. */ FROM ( SELECT ROWNUM as rn , T1.id , T1.name , T1.email , T1.create_date FROM ( /* 1์ฐจ ์๋ธ์ฟผ๋ฆฌ์์ ๋ฑ๋ก์ผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ */ * ํน์ ROW_NUMBER() OVER(ORDER .. IT/development 2023. 5. 7. [springBoot] ์ฒจ๋ถํ์ผ ์ /๋ค์ด๋ก๋(Oracle) CREATE TABLE "FILE_INFO" ("FILE_NO" NUMBER(10,0) NOT NULL ENABLE, "BOARD_NO" NUMBER(10,0) NOT NULL ENABLE, "ORG_FILE_NAME" VARCHAR2(50) NOT NULL ENABLE, "FILE_PATH" VARCHAR2(200) NOT NULL ENABLE, "FILE_SIZE" NUMBER(20,0) NOT NULL ENABLE, "CREATE_DATE" DATE NOT NULL ENABLE, "UPDATE_DATE" DATE DEFAULT SYSDATE, "DEL_YN" CHAR(1) DEFAULT 'N' NOT NULL ENABLE, CONSTRAINT "FILE_PK" PRIMARY KEY ("FILE_NO.. IT/development 2023. 5. 7. [springBoot] UrlResource ์ฌ์ฉ ์ ๊ฒฝ๋ก ์๋ฌ ์ฒจ๋ถํ์ผ ์ ๋ก๋ ์ application.yml์ ์ค์ ํด ๋ ๋ฌผ๋ฆฌ ๊ฒฝ๋ก์๋ ์ ์์ ์ผ๋ก ์ ์ฅ๋๊ณ DB ํ ์ด๋ธ์๋ ์ ์ ์ฅ๋๋ ์ํ ์ด ์ํ์์ ํ์ผ ๋ค์ด๋ก๋ ํ๊ธฐ ์ํ ์ฝ๋์์ ์ด๋ฏธ์ง ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ํ์ผ ๋ค์ด๋ก๋ ์ cannot be resolved in the file system for checking its content length ์๋ฌ๊ฐ ๋ฐ์ ํ์๋ค. "D:/upload/49379d4a-3e79-4dc4-b844-bd47c62c723d.jpg"๋ก ํ์๊ธฐ์์ ์ด์ด๋ ํ์ผ์ด ์ ์ด๋ฆผ. ๊ทธ๋ฐ๋ฐ ๊ณ์ UrlResource์์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ง ๋ชปํ๋ค. ํ์ฐธ์ ์ฝ์ง ๋์ ํด๊ฒฐ๋จ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ์ฝ๋๋ ์์ด๊ณ ์๋๋ ์ ์์ ์ผ๋ก ์๋๋๋ ์ฝ๋์ด๋ค. UrlResource ๊ฐ์ฒด์ ์ธ์๊ฐ์ผ๋ก "file:" + ํ์ผ๊ฒฝ๋ก๋ฅผ ์ .. IT/development 2023. 5. 7. [mybatis] selectkey๊ฐ return(Oracle) SELECT BOARD_NO_SEQ.NEXTVAL FROM DUAL /* ๊ฒ์๊ธ ์์ฑ */ INSERT INTO BOARD ( BOARD_NO , TITLE , CONTENT , WRITER , CREATE_DATE ) VALUES ( #{boardNo} , #{title} , #{content} , #{writer} , SYSDATE ) /* ๊ฒ์๊ธ ๋ฑ๋ก(mapper interface) */ void insertBoard(BoardVo boardVo); /** * ๊ฒ์๊ธ ๋ฑ๋ก(service) * @param boardVo * @throws Exception */ public void regBoard(BoardVo boardVo) throws Exception{ boardMapper.insertBoard.. IT/development 2023. 5. 6. [mybatis] ๊ฒ์(Oracle) /* ๊ฒ์๊ธ ๋ชฉ๋ก ์กฐํ */ SELECT ROWNUM AS no , T1.boardNo , T1.title , T1.content , T1.writer , T1.createDate , T1.updateDate FROM (SELECT BOARD_NO AS boardNo , TITLE AS title , CONTENT AS content , WRITER AS writer , TO_CHAR(CREATE_DATE, 'YYYY-MM-DD') AS createDate , TO_CHAR(UPDATE_DATE, 'YYYY-MM-DD') AS updateDate FROM BOARD WHERE 1=1 AND USE_YN = 'Y' ORDER BY CREATE_DATE DESC )T1 WHERE 1=1 AND TITLE L.. IT/development 2023. 5. 6. [JavaScript] ๋ ์ง ์ฌ์ด ์ผ์ ๊ณ์ฐ //์์์ผ, ์ข ๋ฃ์ผ ์ฌ์ด ์ผ์ ๊ณ์ฐ(yyyymmdd ํ์) function calDiffDays(startDate, endDate) { //์์์ผ const strDt = new Date(startDate.substring(0,4), startDate.substring(4,6), startDate.substring(6,8)); //์ข ๋ฃ์ผ const endDt = new Date(endDate.substring(0,4), endDate.substring(4,6), endDate.substring(6,8)); //์ผ์ ์ฐจ์ด(์ ๋๊ฐ) let diffDays = Math.abs(endDt.getTime() - strDt.getTime()); //ํ๋ฃจ(๋ฐ๋ฆฌ์ธ์ปจ๋)๋ก ๋๋ ๋ค ๋ฐ์ฌ๋ฆผ return Math.floor.. IT/development 2023. 4. 29. [thyemeleaf] form ๊ฒ์๊ฐ ์ ์ง ์ฝ๋๋ก ๋์ฒดํจ formํ๊ทธ์ th:object๋ก ์๋ฒ์์ form ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ Vo ์ ๋ ฅ controller์์๋ UserVo๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ก ์ค์ @GetMapping(value = "list") public Object testList(@ModelAttribute("userVo") UserVo userVo) { ... ์๋ต } ๊ทธ ํ ํ๋ฉด์ input๊ณผ ๊ฐ์ ์๋ฆฌ๋จผํธ ํ๊ทธ์ th:field="*{vo์ ๋ด๊ธด ํ๋๋ช }"์ ์ ์ธํ๋ฉด ๋๋ค. IT/development 2023. 4. 26. [thyemeleaf] get ๋ฐฉ์ parameter๊ฐ ๋ถ์ด๊ธฐ ์ฝ๋๋ก ๋์ฒดํจ ์๋์ ๊ฐ์ URL์ด ์์ฑ๋๋ค.(empId, empSno๋ ์๋ฒ์์ ๊ฐ์ ธ์จ ๊ฐ) localhost:8080/user/view?empId=test&empSno=1(์์) IT/development 2023. 4. 26. [thyemeleaf] select option๊ฐ list loop ์์ฆ์ ์ ๋ฌด๊ฐ ๋๋ฌด ๋ฐ๋น ์ ์ฝ๋๋ก ๋์ฒดํจ controller //์ฝ๋๊ฐ ์กฐํ ํ ํ๋ฉด์ ๋ฐ์ดํฐ ์ ๋ฌ List tList = commonService.selectCommonDtlCodeList("T"); model.addAttribute("tList", tList); html ์ ์ฒด th:value๋ ์๋ฒ๋ก ์ ์กํ value๊ฐ์ด ์ธํ ๋๊ณ th:utext๋ ํ๋ฉด์ ๋ณด์ฌ์ง ํ ์คํธ๊ฐ ์ธํ ๋๋ค. IT/development 2023. 4. 26. INSERT/UPDATE template(feat. ์์ CONCATENATE) ์์ ์ CONCATENATE() ํจ์๋ฅผ ์ด์ฉํด์ ๊ฐ๋จํ UPDATE template์ ๋ง๋ค์๋ค. ๊ทธ๋ฅ ๋จ์ํ table๋ช ๊ณผ ์ ๋ฐ์ดํธ ์ key๊ฐ, ์ ๋ฐ์ดํธ ํ ์ปฌ๋ผ์ ์ ๋ ฅ ๋ฐ์์ ๋ฌธ์์ด์ ์ด์ด๋ถ์ฌ UPDATE๋ฌธ์ ์์ฑํ ๋ค SQL๋ฌธ ํ์ธ ํ DB ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์์ ์คํํ๋ฉด ๋๋ค. ์๋ ๋์์์ ๋ณด๋ฉด ๋ฐ๋ก ์ดํด๊ฐ ๋ ๋ฏ ํ๋ค. ์์ ๋ ์ ๋ฐ์ดํธ 1๊ฑด๋ง ์คํํ์ง๋ง ์ฌ๋ฌ๊ฐ ์ ๋ ฅํด์ SQL ๋๋๊ทธ ํ ๋ค๋์ ์ ๋ฐ์ดํธ๋ ๊ฐ๋ฅํ๋ค. ์ฌ์ค ๋ค๋ ์ ๋ฐ์ดํธ ๋๋ฌธ์ ๋ง๋ ๊ฑฐ๋ค. INSERT QUERY IT/development 2023. 3. 5. ์ด์ 1 ยทยทยท 9 10 11 12 13 14 15 ยทยทยท 22 ๋ค์