본문 바로가기

전체 글66

[Spring] Mybatis collections 파라미터 여러개 사용 시 주의점 개요collections 사용 시 parameter를 여러 개 사용하는데 오류가 났다. mapper xml 같은 경우 요류를 정확히 알려주지 않기 때문에 확실한 개념으로 정확히 구현하는 것이 중요하다. 이 글을 통해 오류 해결 방법을 알아보자.원인 이처럼 column을 통하여 parameter를 여러 개 주었는데  서브 쿼리 함수에서 int로 받은 것이 원인이었다. 바보 같았다.해결collections 사용 시 parameter를 여러 개 사용할 때 서브 쿼리의 parameterType을 map으로 지정해야 한다.  파라미터가 여러 개 이므로 타입을 map으로 바꿔주니 해결됐다. Spring 2021. 6. 28.
[Database] workbench에서 csv 데이터 import 하기 개요workbench에서 csv 파일을 import 하여 한번에 데이터를 입력한다. 서로 다른 DB 서버에서 테이블을 복사하거나 엑셀 형식의 데이터 파일을 한 번에 삽입할 때 활용할 수 있다.방법1. 삽입을 원하는 테이블을 마우스 우클릭 하여 Table Data Import Wizard를 클릭한다.2. csv 파일을 선택한 후 Next를 누른다. 3. 기존 테이블을 선택한 후 Next를 누른다.새 테이블을 만들 예정이라면 아래 항목을 선택하여 테이블 명을 입력하면 된다.[중요] 4. 테이블 컬럼명과 csv컬럼명을 매핑한다.기본적으로 같은 이름으로 매핑해주지만,가끔 다르게 매핑되거나 다른 이름은 자동으로 다른 값으로 매핑된다.해당 부분은 사용자가 직접 매핑해야한다. 5. Next 두 번 누르면 완료된다. Database 2021. 6. 21.
[Spring] MyBatis resultMap collection 사용법 개요mybatis에서 테이블 간의 1:N 관계를 select 할 때 resultMap의 collection을 활용하여 서브쿼리 형식으로 데이터를 가져올 수 있다.사용 경험담서브 쿼리를 직접 구현하지 않아도 되는 점에서 편리했다.배달대행 관제 웹 프로젝트에서 라이더 별로 배차받은 주문 리스트를 갖고 오는 데 활용했다소스 예제DTO 설정@Getter@Setterpublic class Rider{ private Integer userIdx; ... 중략 private List orders;} 서브쿼리 id 입력 ... 중략 select ... 컬럼들 from ... 테이블 where a.USER_IDX = #{userIdx,jdbcType=INTE.. Spring 2021. 6. 18.
[React] antd table에서 pagination시 rowSelection값 유지하기 개요antd table에서 pagination(페이지 이동)으로 인해 새 데이터셋을 뿌려주게 되면 이전 페이지에서 선택한 rowSelection 배열 값이 초기화된다. 유지하는 법에 대해 알아보자문제점1. 이전 페이지로 돌아갔을 때 선택한 idx정보를 얻을 수 없다.2. 체크 후 제출할 때 현재 페이지에 체크된 정보만 전달되게 된다. 해결책1. 전체 체크된 idx 정보를 저장할 map자료구조를 선언한다.2. 체크 이벤트 때마다 한 페이지의 체크된 리스트를 selectedRowKeys 파라미터로 받아와서 배열에 오버라이팅 한다.3. 체크 이벤트 때마다 2번의 배열을 1번의 배열에 오버라이팅 한다.4. 체크 후 제출할 때나 테이블의 checked UI를 보여줄 때 1번의 배열을 사용한다. 1번의 배열은 전체.. React 2021. 6. 1.
[React] 비동기 통신에서 this가 먹지 않을 때 개요HTTP 비동기 통신 중 반환 부분에서 this가 예상대로 작동하지 않아 컴포넌트 내 함수와 객체를 사용할 때 발생하는 오류를 해결해 보자.문제점http 비동기 통신할 때 결과 return 부분(then {})에서컴포넌트 내 함수 및 객체 이용을 위해 this를 쓰면 먹지 않는 오류가 있었다.해결책var self = this 비동기 통신 이전 this를 변수에 저장한 다음 해당 변수를 this 용도로 사용해야 한다.ex)self.state.orderIdx 이유return 부분에서 this를 사용할 경우 리액트는 this를 http return을 날린 서버 쪽의 this로 판단한다.비동기 depth 1까지는 컴포넌트 내 this로 자동 변환해주는데depth2부터는 얄짤 없다. React 2021. 6. 1.