mybatis19 [mybatis] parameter ๊ฐ ๋์ ์ ๋ฌ ๋ชฉ์ฐจ mybatis์ ๋ฐ์ดํฐ ์ ๋ฌ ์ vo์ ํ๋์ vo์์ list ๋์ ์ ๋ฌ javascript if (confirm("์ ์ฅํ์๊ฒ ์ต๋๊น?")) { dlbrList = []; $('#tab3Body tr').each(function() { var rowData = { 'exmnSn': $(this).find('#exmnSnId').val() } dlbrList.push(rowData); }); var paramData = { cmitNo: $("#cmitNoId").val(), mtgMngNo: $("#mtgMngNoId").val(), //vo์์ list๋ช ๊ณผ ์ผ์นํด์ผ ํจ dlbrList: dlbrList }; $.ajax({ url: '/save.do', method: 'POST', data: JS.. IT/development 2024. 3. 31. [mybatis] mybatis data binding (feat. vo) ์ต๊ทผ์ ์๊ฒ๋ ์ฌ์ค์ธ๋ฐ mybatis ์ฌ์ฉ ์ selectํ๋ ์ปฌ๋ผ๋ช ๊ณผ vo ํ๋๊ฐ ์๋ก ์นด๋ฉ์ผ์ด์ค, ์ค๋ค์ดํฌ์ผ์ด์ค๋ก ์ผ์นํ ๊ฒฝ์ฐ ์๋์ผ๋ก vo์ ๋ฐ์ธ๋ฉ ํ๊ธฐ ๋๋ฌธ์ as๋ฅผ ๋ฐ๋ก ์ฃผ์ง์์๋ ๋๋ค.--์์ ์ฟผ๋ฆฌSELECT USER_NAME FROM users--์์ VO@Datapublic class User { //์ด๋ ๊ฒ ์ปฌ๋ผ๋ช ์ ์นด๋ฉ์ผ์ด์ค๋ก ๋ ๊ฒฝ์ฐ๋ ์๋ ๋ฐ์ธ๋ฉ๋จ private String userName; }์ด๊ฑธ ๋ชฐ๋ผ์ ๊ทธ๋์ ์๋์ฒ๋ผ ์ปฌ๋ผ๋ง๋ค ์ ๋ถ AS๋ฅผ ๋ฌ์์๋ค..์ด์ ๋ถํฐ ์๋ตํด์ผ์งSELECT user_name as userName , user_id as userId , user_email as userEmail --.... FROM USERS ํน ์ปฌ๋ผ๋ช ๊ณผ vo.. IT/development 2024. 3. 17. [mybatis] ๋์ ์ฟผ๋ฆฌ ์ง๊ณ ์ฟผ๋ฆฌ ์์ ์กฐํ๊ตฌ๋ถ์ ๋ฐ๋ผ ๋ ๋๋ ์๋ก ๊ทธ๋ฃนํํด์ ์ง๊ณ๋ฅผ ๊ตฌํ๋ ์์ SELECT DATE_FORMAT(FRST_REG_DT, '%Y') || '๋ ' AS searchMon/*๋ */ DATE_FORMAT(FRST_REG_DT, '%M') AS searchMon/* ์ */ DATE_FORMAT(FRST_REG_DT, '%M') AS searchMon/* ์ */ , COUNT(code) AS searchTotalCnt , COUNT(CASE WHEN code = '10' THEN 1 END) AS searchPassedCnt , COUNT(CASE WHEN code = '20' THEN 1 END) AS searchRejectedCnt FROM TEST_BOARD TO_CHAR(FRST_REG_DT, 'YYYY-.. IT/development 2024. 2. 25. [mybatis] list foreach delete ๋ชฉ์ฐจ ํ๋ฉด์์ ์ฒดํฌ๋ฐ์ค์ ์ฒดํฌ๋ ๋ฐ์ดํฐ ์ค ํ์๋ฒํธ๋ฅผ ๋ด์์ ์๋ฒ๋ก ์ ๋ฌ, delete query์์ IN์ ๋ก ์ฒ๋ฆฌ view function deleteData() { if (confirm("์ญ์ ํ์๊ฒ ์ต๋๊น?")) { //์ ํ๋ row ๋ฐฐ์ด var selectedRows = []; //table์ td์ ์ผ ์์ checkbox๋ id๋ฅผ ๊ฐ์ง ์๋ฆฌ๋จผํธ์์ ํ์๋ฒํธ ๊ฐ์ ธ์ด $("input[id='checkbox']:checked").each(function () { var rowData = { 'num': $(this).closest('tr').find('#num').text(), //ํ์๋ฒํธ } selectedRows.push(rowData); }); $.ajax({ url: '/info/delete.d.. IT/development 2024. 1. 21. [mybatis] dynamic query template ๋์ค์ ๋ด๊ฐ ์ฌ์ฉํ๊ธฐ ์ํด ๋์ ์ฟผ๋ฆฌ template์ ๊ธฐ๋กํ๋ค. AND B.CODE IS NULL AND B.CODE IS NOT NULL AND C.CODE = 'A' AND C.CODE = 'D' AND C.CODE = 'P' AND B.CODE = #{entrprsSeCd} AND A.MBTLNUM LIKE '%' || #{mbtlnum} || '%' AND A.MBER_NM LIKE '%' || #{mberNm} || '%' ์ ๋์ ์ฟผ๋ฆฌ๋ ์ด๋ ๊ฒ ์๋ํ๋ค. ๋ฅผ ํตํด ๋์ด์จ parameter์ ์กฐ๊ฑด ์ผ์น์ฌ๋ถ์ ๋ฐ๋ผ AND์ ์ ๋์ ์ผ๋ก ์ถ๊ฐ ๋๋ ์์ฑ ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. 1. mberGubun๊ฐ๋ง 'GNR'์ธ ๊ฒฝ์ฐ(์ผ๋ฐํ์๋ง) //SELECT ์ ์๋ต WHERE B.CODE IS NULL(์๋.. IT/development 2023. 12. 24. [mybatis] update ๋์ ์ฟผ๋ฆฌ(feat. <set></set>) /* ๊ฒ์๊ธ ์์ */ UPDATE BOARD_INFO TITLE = #{title} , CONTENT = #{content} , MOD_DATE = SYSDATE WHERE BOARD_SNO = #{boardSno} ํ ์คํธ IT/development 2023. 6. 24. [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. [mybatis] mybatis oracle merge into mapper.xml SELECT BOARD_SNO_SEQ.NEXTVAL AS boardSno FROM DUAL /* ๊ฒ์๊ธ ๋ฑ๋ก/์์ */ MERGE INTO BOARD_INFO A /* ๋น๊ต ์กฐ๊ฑด(boardSno๊ฐ ๊ฐ์์ง ๋น๊ต) */ USING DUAL ON(A.BOARD_SNO = #{boardSno}) WHEN MATCHED THEN /* update(boardSno๊ฐ ์ผ์นํ๋ฉด update) */ UPDATE TITLE = #{title} , CONTENT = #{content} , MOD_DATE = SYSDATE WHERE BOARD_SNO = #{boardSno} /* insert(boardSno๊ฐ ๋ถ์ผ์น ํ ๊ฒฝ์ฐ insert) */ WHEN NOT MATCHED THEN INSERT ( BO.. IT/development 2023. 6. 3. [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. ์ด์ 1 2 ๋ค์