-
Spring Controller, Service, Mapper SampleDEV/spring 2023. 8. 24. 09:15
(* 개인 노트임을 주의)
Sample
Controller
@PostMapping("/sample") public Map<String, Object> sample(@RequestBody HashMap<String, Object> dto) { Map<String, Object> res = sampleService.sample(dto); return res; }
Service
public Map<String, Object> sample(Map<String, Object> dto) { Map<String, Object> res = new HashMap<>(); String key1 = (String) dto.get("key1"); String key2 = (String) dto.get("key2"); // ... (대충 코드) res.put("code", "FAILED"); res.put("details", "실패하였습니다."); return res; }
Mapper
Mapper는 Query를 작성하는 .xml과 연계하여...
(위 코드는 사용하지 않으므로 위와 별개의 Sample로 작성)
//////////////// // Controller // //////////////// @PostMapping("/sample") public Map<String, Object> sample(@RequestBody HashMap<String, Object> dto) { Integer res = sampleService.hasData(dto); // or Integer res = sampleService.insertData(dto); // or ... (Return 값 잘 맞춰주자.) return res; } ///////////// // Service // ///////////// // 분기나 로직 처리는 최대한 Service에서... public Integer hasData(String key1) { return sampleMapper.hasData(ticket); } public Integer insertData(Map<String, Object> dto) { return sampleMapper.insertData(dto); } public Integer updateData(Map<String, Object> dto) { return sampleMapper.updateData(dto); } //////////// // Mapper // //////////// Integer hasData(String ticket); Integer insertData(Map<String, Object> map); Integer updateData(Map<String, Object> map); ///////// // XML // ///////// <select id="hasData" resultType="Integer"> SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END AS HAS_DATA FROM DATA_TABLE WHERE VOC_CNSL_ID = #{key1} </select> <insert id="insertData" parameterType="hashMap"> INSERT INTO DATA_TABLE ( COL_1, COL_2, REGDATE, EDTDATE, ) VALUES ( #{key1}, #{key2}, SYSDATE, SYSDATE, ) </insert> <update id="updateData" parameterType="hashMap"> UPDATE DATA_TABLE SET DATA_NO = #{dataNo} WHERE COL_1 = #{key1} </update>
'DEV > spring' 카테고리의 다른 글
Spring boot + React 시작하기 4 (비밀번호 암호화하여 DB에 적재하기 Spring Security) (0) 2024.02.19 Spring boot + React 시작하기 3 (로그인 및 회원가입, 회원 관리 만들기) - 로그인 + 토큰생성 (0) 2024.02.13 Spring boot + React 시작하기 2 (로그인 및 회원가입, 회원 관리 만들기) - 회원 가입 (1) 2024.02.06 Spring boot + React 시작하기 1 (로그인 및 회원가입, 회원 관리 만들기) - 기본설정 (0) 2024.02.01 Spring boot @Getter, @Setter 인식 안될때 (0) 2023.03.03