IT/development205 [eclipse] eclipse java comment template ์ค์ ๋ชฉ์ฐจ eclipse java comment template ์ค์ ๐ eclipse์์ java ์ฃผ์ ํ ํ๋ฆฟ์ ๋ฏธ๋ฆฌ ์ค์ ํด์ ์์ค์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํ๋ค. Window > Preferences > Java > Code Style > Code Templates > Comments ์ฌ๊ธฐ์ ์ฝ๋ ์ํ์ ๋ฏธ๋ฆฌ ์์ฑํด๋๊ณ ์์ค์ ์ ์ฉํ๋ฉด ๋๋ค. Class์ ์ฃผ์์ ๋ฌ๋ ค๋ฉด Types ์ ํ ํ Edit ๋๋ฌ์ ์์ฑ์ ํ๋ค. ์์ฒ๋ผ ์ฃผ์ template์ ์ค์ ํ ์ฝ๋์ ์ ์ฉํ๋ ค๋ฉด ํด๋์ค๋ช ์ ํ ํ shirt + alt + j๋ฅผ ๋๋ฅด๋ฉด ๋๋ค. Class์ method ๋ฑ ์์ฑ ์ ๊ณตํต๋ ํ์์ ์ฃผ์์ผ๋ก ๊ด๋ฆฌํ๋๊ฒ ์ด๋ ฅ๊ด๋ฆฌ ๋ฐ ํ์ ์ ํจ์จ์ ์ด๋ค. ๐ SVN๋ ์ด์ฒ๋ผ template์ ๋ฏธ๋ฆฌ ์ค์ ํ ์๊ฐ ์๋ค. Wind.. IT/development 2022. 11. 23. [spring] ์์กด์ฑ ์ฃผ์ ์ NPE(NullPointerException) ๋ชฉ์ฐจ spring์์ ์์กด์ฑ ์ฃผ์ ์ ์์ฃผ ๋ฐ์ํ๋ ์ค์์ด๋ค.(๋๋ค, ๋ด๊ฐ ๊ทธ๋ ๋ค.) ์ ์ฝ๋์์ ์ด๋๊ฐ ์๋ชป ๋์์๊น? ๋ฌด์ ๋๋ฌธ์ NPE๊ฐ ๋ฐ์ํ๋ ๊ฒ์ผ๊น? ์ฝ์์์ ์น์ ํ๊ฒ ๋ผ์ธ๊น์ง ์๋ ค์ฃผ๊ณ ์๋ค. 31๋ฒ ์งธ ๋ผ์ธ์ผ๋ก ๊ฐ๋ณด์ ๊ทธ๋ฅ board ํ ์ด๋ธ์ ์๋ ๋ฆฌ์คํธ๋ฅผ ํ์ด์งํด์ ๊ฐ์ ธ์ค๋๊ฒ ์ ๋ถ๋ค. ์์ธ์ ๋ชฐ๋์ ๋ DB์์ ๊ฐ์ ธ์ค๋๊ฒ null์ธ๊ฐ? ์ด๋ฐ ์๊ฐ์ ํ์๋๋ฐ.. ํ์ง๋ง ์๋ ์ฝ๋์์๋ ์์ฑํ list๋ฅผ ์กฐ์ํ๋ ์ผ์ด ์ ํ ์๋ค.(list์์ getํด์ ๋ญ ๊ฐ์ ธ์จ๋ค๊ฑฐ๋) ๊ทผ๋ฐ ์ ๋ํฌ์ธํฐ์ผ๊น? ๋๋ฒ๊ฑฐ๋ก ์ฐ์ด๋ณด์ boardService๊ฐ null์ด๋ค. ์ด๋์ ๊ฐ์ฒด๊ฐ ์์ฑ ์๋๊ฑฐ๋ค. BoardController์์ BoardService๋ผ๋ ๋์ ์์ฑ์ ์ฃผ์ ํด์ ์ฐ๋ ค๊ณ ํ๋๋ฐ ์ด ๊ฐ์ฒด๊ฐ null์ด.. IT/development 2022. 11. 23. [springBoot] JPA @Entity์์ @NoArgsConstructor, @AllArgsConstructor, @Builder... ์ฌ์ฉ ๊ด๋ จ ์ ๋ฆฌ ๋ชฉ์ฐจ ๊ฐ์ธ ํ๋ก์ ํธ ์์ ๋จ์ CRUD๋ JPA๋ก ๊ตฌํํ๋ ค๊ณ ๋ง์ด ํ๊ณ ์๋ค. ์ญ์ ๋ฏธ๋์ ๋ด๊ฐ ๋ณด๊ธฐ์ํด ๊ธฐ๋กํ๋ค. ๋ถ๋๋ฝ์ง๋ง java8, JPA๋ฅผ ์ต๊ทผ์ ์ฌ์ฉํ๊ฒ ๋์ด์ @Builder ์ด๋ ธํ ์ด์ ๋ ์ฒ์ ์จ๋ณด๊ณ ์ด์ ๋ง ์ ์์ด ์ด์ง ๋๊ฐ๋ ์ค์ด๋ค.(JPA์์๋ ์ํฐํฐ์ setter ์ฌ์ฉ์ ์ต๋ํ ์ง์ํ๋ค.) @Entity์์ ํ์๋ก ํ๋ ๊ฒ์ ๊ธฐ๋ณธ ์์ฑ์์ด๊ณ @Builder์์ ํ์๋ก ํ๋ ๊ฒ์ ๋ชจ๋ ํ๋๋ฅผ ์ ๋ถ ๋งค๊ฐ๋ณ์๋ก ๊ฐ์ง๊ณ ์๋ ์์ฑ์์ด๋ค.(๊ฐ ์ธํ ํ๊ธฐ ์ํด์) ๋ ๋ค ์๋ตํ ๊ฒฝ์ฐ IDE์์ ์น์ ํ๊ฒ ์๋์ฒ๋ผ ์๋ฌ๋ฅผ ๋ฑ์ด์ค๋ค.(์ํฐํฐ์ ๊ธฐ๋ณธ ์์ฑ์ ์์ ๊ฒฝ์ฐ์ ์ปดํ์ผ ๋จ๊ณ์์ ํ์) ๋น๋์ ๋งค๊ฐ๋ณ์ ์์ฑ์ ์์ ๊ฒฝ์ฐ ๋น๋์ ํ์ํด์ค๋ค. Entity์์ @NoArgsConstructor ์๋ต ์ .. IT/development 2022. 11. 22. [mybatis] mybatis ๋์ ์ฟผ๋ฆฌ ์์ฑ ์ "," ๊ด๋ จ ๋ชฉ์ฐจ ์ฌ์ํ ์ ์์ง๋ง ์ด์ ๋ฅผ ๋ชฐ๋ผ์ ์ฟผ๋ฆฌ ์์ฑ ์ ์๋ฌ ๋๋ฌธ์ ์๊ฐ์ ์ก์ ๋จน์ด์ ์ญ์๋ ๋ฏธ๋์ ๋ด๊ฐ ๋ณด๊ธฐ์ํด ๊ธฐ๋กํ๋ค. ์๋ฅผ ๋ค์ด ์์ ๊ฐ์ ์ฟผ๋ฆฌ๊ฐ ์์ ๋ parameter๊ฐ์ ๋ฐ๋ผ ๋์ ์ผ๋ก SQL์ ์์ฑ ์ SELECT๋ฌธ ์ปฌ๋ผ ๋ค์ชฝ์ ","๋ฅผ ๋ฃ์ผ๋ฉด ๋ฌธ๋ฒ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ๋์ด์จ member_id๊ฐ์ด ์์ผ๋ฉด , mcm.etc๊ฐ ๋ถ๋ ๋ฐ ๋ง์ผ ์์ ์ฟผ๋ฆฌ๊ฐ ์๋์ ๊ฐ๋ค๋ฉด ๋์ ์ฟผ๋ฆฌ๋ฅผ ๋ถ์ด์ง ๋ชปํ๋ค. select m.*, mcm.tag_type, mcm.tag_name, mcm.etc FROM member m LEFT OUTER JOIN member_code_mapping ON m.member_seq = mcm.member_seq LIMIT #{start}, #{length} ์ด ๊ฒฝ์ฐ๋ ๋์ด์จ membe.. IT/development 2022. 11. 22. [Spring] spring REST API ๊ณต๋ถ(feat. @RestController) ๋ชฉ์ฐจ REST๋? ๐ REST๋ "Representational State Transfer"์ ์ฝ์์ด๊ณ ์ง์ญํ๋ฉด ๋ํ์ํ ์ ์ก์ด๋ค. ํ๋์ URI๋ ๊ณ ์ ํ ๋ฆฌ์์ค๋ฅผ ๋ํํ๋๋ก ์ค๊ณ๋๋ค๋ ๊ฐ๋ ์ธ๋ฐ ์์งํ ์์ง ์ ํํ ์ดํดํ์ง๋ ๋ชปํ๋ค. ์น์ ๋ชจ๋ ๋ฆฌ์์ค์ ๊ณ ์ ํ URI๋ก ์๋ฏธ๋ถ์ฌ ํ ๋ค HTTP Method๋ฅผ ํตํด ์ํ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํต์ ํ๋ ๋ฐฉ์์ด๋ผ๊ณ ์ดํด ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ๋ฐํํ๋ ๊ฐ์ด ์์ํ ๋ฐ์ดํฐ๋ผ๋ ์ ํด๋ผ์ด์ธํธ๊ฐ URI๋ง ๋ด๋ ์ด๊ฒ ๋ฌด์จ ์์ ์ ์๋ฏธํ๋์ง ์ ์ ์๋๋ก ์ค๊ณํด์ผ ํ๋ค. ex)localhost:8080/user๊ฐ URI์ด๊ณ POST์ผ๋ก ์๋ฒ์ ์ ์กํ๋ค๊ณ ํ๋ฉด ์ฌ์ฉ์ ๋ฑ๋ก์ด๋ผ๊ณ ์ ์ถํ ์ ์๋ค. REST ๋ฐฉ์์์๋ HTTP Method๊ฐ CRUD๋ฅผ ์๋ฏธํ๋ค. ๊ทธ๋์.. IT/development 2022. 11. 22. [springBoot] ์ ํจ์ฑ ๊ฒ์ฆ(feat. @Valid, Validated) ๋ชฉ์ฐจ SpringBoot ์ ํจ์ฑ ๊ฒ์ฆ ๐ ํด๋ผ์ด์ธํธ์์ ๋์ด์จ ๊ฐ๋ค์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฆ์ด ํ์ํ๋ฐ if(id != null || id != ""...) ์ด๋ ๊ฒ if๋ฌธ์ผ๋ก ์ ํจ์ฑ ์ฒดํฌ๋ฅผ ํ๊ธฐ ์ซ์ด์ ์๋ฐ๋ ์คํ๋ง์์ ์ง์ํ๋ ์ข์๊ฒ ์ด๋ ์๋ ๋ณด๋ค๊ฐ ๊ตฌ๊ธ๋ง์ ํ๊ณ @Valid์ @Validated๋ฅผ ์๊ฒ๋์ด์ ์ ์ฉ์ ํด๋ดค๊ณ ์ด๋ฅผ ๊ธฐ๋กํ๋ค. ๋ "", " ", null ์ด๋ ๊ฒ 3๊ฐ๋ง ์ฒดํฌํ๋ฉด ๋๋ ๋ถ๋ถ์ด์๋ค. ๊ฒฐ๋ก ์ ์คํ๋ง๋ถํธ์์ @Valid์ @Validated 2๊ฐ๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋จํ ์ ํจ์ฑ ์ฒดํฌ๋ฅผ ํ ์ ์์ @Valid ๐ฅฐ @Valid๋ JSR-303 Bean Validator๋ฅผ ์ด์ฉํด์ ์ ํจ์ฑ์ ์ฒดํฌํ๋ ์ด๋ ธํ ์ด์ ์(์๋ฐ ํ์ค ์คํ) ์ฌ์ฉ๋ฒ ์คํ๋ง๋ถํธ ๋ฒ์ ์ ๋ฐ๋ฅธ ์์กด์ฑ ์ถ๊ฐ ์ฌ์ฉํ๋ ์คํ๋ง ๋ถํธ ๋ฒ.. IT/development 2022. 11. 22. [mybatis] mybatis parameter ์ฌ๋ฌ๊ฐ ์ ๋ฌ ๋ชฉ์ฐจ์๋ฅผ ๋ค์ด Stringํ์ ์ "status"์ Longํ์ ์ no, 2๊ฐ์ parameter๊ฐ์ ๋ฐ์์ ํ ์ด๋ธ ์ ๋ฐ์ดํธ ํ๋ ค๋ ๋ก์ง์ด ์์ ์ VO์งธ๋ก ๋๊ธฐ๊ธฐ์ ๋ญ๊ฐ ๋นํจ์จ์ ์ด๊ณ ๋ค๋ฅธ์ฌ๋์ด ์ฝ๋๋ฅผ ๋ดค์ ๋๋ ์ง๊ด์ ์ด์ง ์์ ๋ณด์๋ค.๋ฌผ๋ก ์ถํ์ ๋๊ธฐ๋ parameter๊ฐ์ด ์ถ๊ฐ๋ ๊ฒฝ์ฐ์ VO์งธ๋ก ๋๊ธฐ๋๊ฒ ํ์ฅ์ฑ์ด ์๊ฒ ์ง๋ง ์ด ๊ธฐ๋ฅ์ ๊ทธ๋ฐ๊ฒ ์๋์๋ค.๊ทธ๋์ ๊ตฌ๊ธ๋ง ํ๋ค๊ฐ ์ญ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ ๋ฏธ๋์ ๋ด๊ฐ ๋ณด๊ธฐ์ํด ๊ธฐ๋กํ๋ค.1. HashMap ์ด์ฉ ๐Controller์์ HashMap์ ๋ด์์ ๋๊ธฐ๋ ๋ฐฉ๋ฒControllerHashMap์ parameter๊ฐ ๋ด์์ ์ ๋ฌHashMap param = new HashMap();param.put("no", no);param.put("status", status.. IT/development 2022. 11. 22. [mybatis] ์์ธ ์กฐํ ์ ๋ณต์๊ฐ ์ถ๊ฐ ์กฐํ(feat. vo & map) ๋ชฉ์ฐจ ์์ธ ์กฐํ ์ ๋ณต์๊ฐ ์ถ๊ฐ ์กฐํ ๐ ๊ธฐ์กด ์์ธ์กฐํ API์์ ์์ธ ์กฐํ ์ ํด์ํ๊ทธ์ ๊ฐ์ ๋ณต์๊ฐ์ ์ถ๊ฐ๋ก ์กฐํํด์ผ ๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ฒผ๋ค. ๊ฐ์ ธ์์ผ ๋๋ ํ๋๊ฐ์ 2๊ฐ๋ฐ์ ์๋๋ฏ๋ก ์ถ๊ฐ๋ก vo๋ฅผ ๋ง๋ค๊ณ ์ถ์ง ์์ ์๋์ฒ๋ผ ์์ ํ๋ค. Controller ๊ธฐ์กด์๋ Controller์์ return์ผ๋ก VO๋ก๋ง ๋ฐ์๋ ๊ฑธ map์ผ๋ก ๋ฐ๋๋ก ๋ณ๊ฒฝ, VO๊ฒฐ๊ณผ์ tag๋ฆฌ์คํธ ๊ฒฐ๊ณผ๋ฅผ map์ ๋ด์์ ์ต์ข ์ ์ผ๋ก return /** * ์์ธ * @param * @param * @return */ @Operation(summary = "๋ฉค๋ฒ ์์ธ ์กฐํ", description = "๋ฉค๋ฒ๋ฅผ ์์ธ ์กฐํํ๋ค.") @Parameters({@Parameter(name = "mem_no", description = "ํ์ ์ผ๋ จ.. IT/development 2022. 11. 22. [JavaScript] Ajax ๊ฒฐ๊ณผ๊ฐ ๋ณ์ ์ ์ฅ ๋ชฉ์ฐจ ๋ฏธ๋์ ๋๋ฅผ ์ํด ๊ธฐ๋ก์ ๋จ๊น ๐ ajax๋ฅผ ํตํด ์ป์ด์จ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ ค๋ฉด ajax์ ์ต์ ์ async: false๋ฅผ ์ค์ ๋๊ธฐ์์ผ๋ก ์ฒ๋ฆฌํ๋๋ก ๋ณ๊ฒฝํด์ผ ํ๋ค. ๊ธฐ๋ณธ๊ฐ์ true ์๋๋ฉด undefined๋ก return ๋๋ค. function duplicateCheck(menuCode) { let duplicate_result; $.ajax({ url : '/admin/menu/duplicateCheck', async: false, type : 'post', data : {'menuCode': menuCode}, success: function (data) { // alert("data : " + data); duplicate_result = data; } }); return duplicate_res.. IT/development 2022. 11. 22. [JavaScript] submit control(feat. onsubmit) ๋ชฉ์ฐจ JavaScript onsubmit ๐ ๋ฏธ๋์ ๋ด๊ฐ ๋ณด๊ธฐ ์ํด ์์ฑ ํ๋ฉด์์ submit์ ์ปจํธ๋กค ํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์๋ฅผ ๋ค๋ฉด ์ ๋ ฅ๊ฐ์ ์ ๋ ฅ ์ํ๋ฉด ๋ชป ๋์ด๊ฐ๊ฒ ํ๋ค๊ฑฐ๋.. ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๊ฒ ์ง๋ง form์ onsubmit ์ต์ ์ ์ฃผ๊ณ ํจ์๋ฅผ ์ง์ ํด ์ฃผ๋ฉด submit ์ ๋ฌด์กฐ๊ฑด ํด๋น ํจ์๋ฅผ ํธ์ถํ๊ณ submitํ๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ return functionName(); ์ ์ฃผ๊ฒ ๋๋ฉด ํด๋น ํจ์์ return๊ฐ์ด false์ธ ๊ฒฝ์ฐ submit์ด ์๋๋ค. ๊ทธ๋์ ์๋ ์์์ฒ๋ผ ์กฐ๊ฑด์ ๋ฐ๋ผ submit์ ํ๊ฑฐ๋ ๋ง์ ์ ์๋ค. ์๋ ์์๋ ์ ๋ชฉ์ ์ ๋ ฅ ์ํ ๊ฒฝ์ฐ submit์ด ์๋๋ค.(๋๋ฌด ๋จ์ํ ์ ํจ์ฑ ์ฒดํฌ์ด์ง๋ง..) ์์ ์ฝ๋ ์ ๋ชฉ: ๋ด์ฉ: ์์ฑ์: ์ ์ก ์ด๋ฅผ ์ด์ฉํด์ ๋ค์ํ๊ฒ ์์ฉ์ด ๊ฐ๋ฅํ๋ค. IT/development 2022. 11. 22. ์ด์ 1 ยทยทยท 16 17 18 19 20 21 ๋ค์