반응형

spring myBatis 7

[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.06.03

[mybatis] mybatis multi update(다중 업데이트)

목차 다중 업데이트를 하는 방법 중 mybatis에서 지원하는 multi update를 이용한 방법을 기록한다. application.properteis #allowMultiQueries=true mybatis multi update 사용하기 위해선 이걸 꼭 넣어야 한다. spring.datasource.url=jdbc:log4jdbc:mariadb://localhost:3307/test?characterEncoding=UTF-8&allowMultiQueries=true spring.datasource.username=test spring.datasource.password=1234 mapper xml UPDATE tb_common_code SET code_id = #{item.codeId} ,code_..

IT/development 2022.12.16

[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] mybatis 배열 저장(feat. foreach)

목차 위와 같이 insert를 1개 이상 하는 로직을 만들게 되었고 미래의 내가 보기 위해 기록한다. 😄 클라이언트에서 배열로 값을 받아서 DB에 저장하는 기능이 필요했다. 참고로 mysql과 Oracle은 문법이 다르다. Oracle은 아직 안해봐서 그건 나중에 알아보겠다. Controller @RequestParam(value = "변수명[]") String[] avengers 이런식으로 받음 @PostMapping("") public ResponseEntity createArray( @RequestParam(value = "avengers[]") String[] avengers ) throws Exception{ Service.insertAvengers(avengers); 생략... Service ..

IT/development 2022.11.21

[mybatis] map을 list로 받아서 화면에 그리기

목차 미래의 내가 보기 위해 기록함 테스트 테이블 😃 CREATE TABLE `tmp_board`( `board_seq` bigint auto_increment, `title` varchar (30), `contents` varchar (30), `name` varchar (30), `reg_date` timestamp, `update_date` timestamp, primary key(board_seq) ); mapper xml SELECT * FROM t_board ORDER BY reg_date DESC mapper interface 😊 package study.tmp11.mapper; import org.apache.ibatis.annotations.Mapper; import study.tmp11..

IT/development 2022.11.19
반응형