SpringBoot34 [springBoot/thymeleaf] ajax ํ์ด์ง๋ค์ด์ sample(feat. study์ฉ) ๋ชฉ์ฐจ ddl(Oracle) /* ๊ฒ์ํ */ CREATE TABLE "BOARD_INFO" ("BOARD_NO" NUMBER NOT NULL ENABLE, "TITLE" VARCHAR2(50) NOT NULL ENABLE, "CONTENT" VARCHAR2(4000) NOT NULL ENABLE, "USER_ID" VARCHAR2(20) NOT NULL ENABLE, "USE_YN" CHAR(1) DEFAULT 'Y' NOT NULL ENABLE, "REG_DATE" DATE DEFAULT SYSDATE NOT NULL ENABLE, "MOD_DATE" DATE, CONSTRAINT "BOARD_INFO_PK" PRIMARY KEY ("BOARD_NO") ); COMMENT ON COLUMN BOARD_.. IT/development 2023. 6. 4. [spring] springBoot ajax json๊ณผ file ์ ์ก controller /** * ๊ฒ์๊ธ ๋ฑ๋ก ์ฒ๋ฆฌ(๋น๋๊ธฐ) * @param boardVo * @param files * @return */ @PostMapping(value = "/regAjax") @ResponseBody public Integer regAjax(@RequestPart(value = "boardVo") BoardVo boardVo, @RequestPart(value = "files", required = false) List files, HttpSession session) throws IOException, Exception { //ํ ์คํธ๋๊น try catch๋ก ์์ธ์ฒ๋ฆฌ ํ์ง ์๊ณ ๊ทธ๋ฅ throws๋ก ๋์ก๋ค. UserVo userInfo = getUserSessionInfo(sessio.. IT/development 2023. 6. 3. [logback] log pattern ์ค์ ${LOG_PATTERN} ${LOG_PATTERN} ๊ฒฐ๊ณผ๊ฐ IT/development 2023. 5. 14. [logback] logback ํ์ผ ์์ฑ [%d{yyyy-MM-dd HH:mm:ss.SSS}] %-3level [%logger{0}:%line] : %msg %n [%d{yyyy-MM-dd HH:mm:ss.SSS}] %-3level [%logger{0}:%line] SQL : %n%msg %n ${LOG_DIR}/${LOG_FILE_NAME}.log [%d{yyyy-MM-dd HH:mm:ss.SSS}] %-3level [%logger{0}:%line] : %msg %n IT/development 2023. 5. 13. [springBoot] springBoot Interceptor ๋ก๊ทธ์ธ ์ฒดํฌ LoginInterceptor package study.thboard2.common.interceptor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @Slf4j //๋ก๊ทธ์ธ ์ธํฐ์ ํฐ public class LoginInterceptor implements HandlerInterceptor { //์๋์ฒ๋ผ ์์กด์ฑ ์ฃผ์ ํ๋ ค๋ฉด config์์ @Bean์ผ๋ก.. IT/development 2023. 5. 13. [springBoot] spring boot jarํ์ผ ๋ฐฐํฌ ์ฝ์ง(feat. ๋ฆฌ๋ ์ค) ์คํ๋ง๋ถํธ์์ jarํ์ผ ์คํ ์ ์ต์ ์ผ๋ก profile๋ฑ์ ์ค์ ํ ์ ์๋๋ฐ ์ด๊ฒ ๋๋ฌธ์ ์ดํ์ ์ฝ์งํด์ ๋ฉ๋ชจํจ ์๋ฒ์์ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์๋์ ๊ฐ์ด ์์ฑ(์ต์ ์ ๋ณ์ํ), ์คํ ์ ๊ณ์ profile์ ์ฐพ์ง ๋ชปํ์๋ค. #์ด์ ๋ช ๋ น์ด๋๋ก ํ๋ฉด ๊ณ์ ์๋๋ค. java -jar -์ต์ -์ต์ .. deploy.jar ์์๊ฐ ์ด๋ฐ์์ด ๋์ด์ผ ๋๋ค. #์ด์ ๋ช ๋ น์ด๋ java -jar deploy.jar -์ต์ -์ต์ ์ด ์์๋๊น ๊ณ์ ์๋๋ ๊ฑฐ์๋ค. ๋ค์์ ์ ๋ ๊ฐ์ ์ค์ํ์ง ๋ง์ IT/development 2023. 5. 13. [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. [spring] vo์ multipartFile ๋์์ ์๋ฒ๋ก ์ ์ก(feat.@RequestPart) ํด๋ผ์ด์ธํธ์์ JSON ํ์ ์ ๋ฐ์ดํฐ์ ๋ฉํฐํํธ ํ์ ํ์ผ์ ๋์์ ์ ๋ฌ ๋ฐ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํ๋ค.Controller์์ JSONํ์ ์ ๋ฐ์ดํฐ๋ฅผ vo๋ก ๋ฐ๊ณ ๋ฉํฐํํธ ํ์ ํ์ผ์ ๋ฐ์์ ๋ก๊ทธ๋ง ์ฐ์ด๋ณด๊ฒ ๋ค.controllerpackage study.lsyrestapitest1.controller.api;import lombok.RequiredArgsConstructor;import lombok.extern.slf4j.Slf4j;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;imp.. IT/development 2023. 2. 8. [spring] @RequestBody String type ๋ฐ๊ธฐ ๋ชฉ์ฐจ spring์์ @RequestBody๋ก String type์ ๋ณ์ ๋ฐ๊ธฐ ์คํ๋ง RestFul๋ฐฉ์์ผ๋ก ํด๋ผ์ด์ธํธ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ ๋ฐ์ ๋ ๋นํฉํ๋ ๊ฒฝํ์ด ์์ด ์ด๋ฅผ ๊ธฐ๋กํ๋ค. ๋ณดํต ์คํ๋ง์์ ํด๋ผ์ด์ธํธ์์ ์ ๋ฌํ ๋ฐ์ดํฐ๋ฅผ Dto๋ Vo๋ฑ์ ๊ฐ์ฒด ํ์ ์ผ๋ก ๋ฐ์ธ๋ฉ ์ ์๋์ฒ๋ผ ๊ฐ์ฒด๋ก ์ ๋ฌ ๋ฐ๋๋ก ํ๋ฉด ๋๋ค. package study.lsyrestapitest1.controller.api; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotati.. IT/development 2023. 1. 24. [spring/mybatis] Rest API ๊ณ์ธต๊ตฌ์กฐ(1:N) ๊ฐ์ฒด ์กฐํ(feat .์ฌ์ด ์์ ) ๋ชฉ์ฐจ ์ญ์๋ ๋ฏธ๋์ ๋๋ฅผ ์ํด ๊ธฐ๋กํ๋ค. ๊ณ์ธต๊ตฌ์กฐ ์กฐํ๊ฐ ์ฒ์ ์ ํ๊ณ ์ต์ํด์ง๊ธฐ ์ ๊น์ง๋ ์ข ์ด๋ ต๋ค.(๋ฌผ๋ก ์ง๊ธ๋ ์ฌ์ด ๊ฑด ์๋๋ค.) ๋ชจ๋ ์ผ์ด ์ต์ํด์ง๋ฉด ์๋ฌด๊ฒ๋ ์๋ ๊ฒ ๊ทธ์ ๊น์ง๋ ์ด๋ ค์ด ๋ฒ์ด๋ค. Rest API ๊ณ์ธต๊ตฌ์กฐ ์กฐํ ๊ฐ๋จ ์์๋ค. ์ฌ์ฉ์(UserDto) ๊ฐ์ฒด๊ฐ ๋์ ๊ฐ์ฒด(BookDto)๋ฅผ list๋ก ๊ฐ์ง๊ณ ์๋ ๊ตฌ์กฐ๋ค. ํ์๊ณผ ๋์์ ๊ด๊ณ๋ฅผ 1:N์ผ๋ก ๋งคํํ๊ณ ํ์์ด ๋ถ๋ชจ๊ณ ์ฑ ์ด ์์์ด๋ค. ์๋์ฒ๋ผ ํ๋ช ์ ํ์์ด ์ฌ๋ฌ๊ฐ์ ์ฑ ์ ๋์ถํ ์ ์๋ ์กฐ๊ฑด ๊ทธ๋์ ํ์ ๊ฐ์ฒด๋ ๋์ ๊ฐ์ฒด๋ฅผ list๋ก ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค. ์๋ DB ํ ์ด๋ธ์ ๋ณด๋ฉด ํ์๋ฒํธ 1๋ฒ์ธ ์ฒ๋ฅ์ ์ ํ ๋ฅด๊ฐ ์ดํ๊ฐํธ 1๊ถ~5๊ถ๊น์ง ๊ฐ์ง๊ณ ์๋ค. API๋๊น ๋น์ฐํ ํด๋ผ์ด์ธํธ์ ์ ๋ฌํ ๊ฐ์ฒด์ธ dto์ db ์กฐ์์ ์ฌ์ฉํ ๊ฐ์ฒด์ธ vo.. IT/development 2022. 12. 25. ์ด์ 1 2 3 4 ๋ค์