본문 바로가기
728x90
반응형

oracle3

[마이바티스+오라클] 검색할 때 종종 막히는 바인딩 변수 오라클 DB와 MyBatis 를 사용하면서 검색 로직을 구현하려고 하면 어떻게 사용자가 입력한 값을 파라미터에 담아 매퍼에 넘기고 매퍼가 그걸 어떻게 받는지 어떻게 대소문자 구분 없이 (Case Insensitive) 값을 찾게 설정하는지 어떻게 파라미터를 포함하는 모든 값을 조회할 수 있게 % 를 넣을 수 있는지 요 3가지를 주로 고민하게 된다 오늘은 초보자들이 이러한 고민의 해답을 다른 블로그에서 찾기가 어려워서 이 글에서 쉽게 설명해볼까 한다. 먼저 컨트롤러에서 서비스로 제대로 호출했다고 가정하고 서비스는 아래와 같이 진행되어야 한다. public List findBySearchValue(파라미터 타입 파라미터 이름) { // Map으로 파라미터를 담아서 보내주는 방법 Map 참조변수 = new H.. 2022. 11. 7.
[Spring Boot] 대소문자 구분 없이 검색하는 로직 (JPA + Oracle) https://samori.tistory.com/40 [Spring Boot] 세상 쉬운 검색창(검색 로직) 만들기 1-2 (백 로직) 샘플 Entity는 Staff로 정하고 설명을 위해 제공 @Getter @Entity @NoArgsConstructor public class Staff { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; pr.. samori.tistory.com 위 글에 이어 Spring Data Jpa 와 Oracle 사용시 대소문자 구분없이 검색하는 로직을 어떻게 처리해야할지와 로직은 알겠는데 네이티브 쿼리에서 매개변수를 인식하지 못하는 현상을 어떻게 해결했는지 .. 2022. 10. 14.
[Oracle] 계층형 쿼리 - START WITH ~ CONNECT BY 계층형 쿼리란? 부모, 자식 간의 수직관계를 트리 구조 형태로 보여주는 쿼리 회사 조직도를 예시로 들어보자. '회사'는 최상위계층이고, 회사를 중심으로 개발부, 경영지원부, 영업부 세 부서로 나뉜다. 계속해서 부서를 중심으로 하위 계층이 생성되어 있다고 가정하자. 이를 테이블로 나타내면 아래와 같다. 부서번호는 고유식별자로 Primary Key가 된다. START WITH SELECT * FROM EMP_TB START WITH 상위부서번호 IS NULL; 회사는 그보다 상위부서가 없기 때문에 상위부서를 NULL로 주며, 부서번호가 NULL 인 것을 찾으면 최상위 부서를 찾게 되는 원리이다 CONNECT BY PRIOR 하위트리 = 상위트리 폭포를 생각하면 쉽다. 위에서 아래로 내려가는 그런 기본 트리구.. 2022. 9. 6.
728x90
반응형