'2018/07/17'에 해당되는 글 2건

  1. 2018.07.17 eclipse단축키
  2. 2018.07.17 myBatis. Sql WHERE문에서 in 처리(2)

[ eclipse단축키 ]

 

1. ctrl + shift + R : 파일 찾기

2. crtl + shift + E : 열려진 파일목록 조회

3. crtl + shift + T : type 열기.  이 단축키로도 파일 찾기가능

 

4. ctrl + method명 클릭 : 클릭 method명에 대한 소스 찾아가기

    또는

    method명 위치 후 F3

4. crtl + method명 위에 마우스 이동 : 이동가능한 목록 이 조회 됨

    - Open Declaratino      : 정의된 Method명 이동

    - Open Implementation : 구현된 Method명 이동

    - Open Return Type                                       : 해당 Method의 return type에 대한 class를 open

    - Go to MyBatis definition of method_name    : sql문장을 직접찾아 가줌

                                                                            이 메뉴는 느낌이 모든 플젝에서 나오는게 아니고

                                                                                 현 플젝에서 TA가 추가한 느낌

    - Open <select/> in XML mapper                   : sql문장을 직접찾아 가줌

                                                                            이 메뉴는 느낌이 모든 플젝에서 나오는게 아니고

                                                                                 현 플젝에서 TA가 추가한 느낌

 

* Ctrl + shift + O : source > organize imports
            (자동으로 import절 정리. 3레벨 밑에 패키지들 다중 선택하면 한번에 이쁘게 import절 정리)
* Ctrl + shift + R  : open resource (좌측 프로젝트 뷰서 그만 찾자. 클래스명 조각으로 검색하자)
* Ctrl + shift + T  : open type (콘솔서 선택한 qualified name 패키지명 포함한 클래스도 검색된다.)
* Ctrl + shift + G :  References in Workspace (이 클래스/메서드를 쓰는 소스는 어떻게 되지? Caller)
* F3 : Open Declaration (Ctrl 클릭은 그만. 키보드로 이동)
* F12 : Activate Editor (묻지마 에디터 창으로 바로 포커스 이동)
* Ctrl + O : quick outline (휠스크롤은 그만. 원하는 메서드로 바로 이동)
* Find / Replace All 말고 우아하게 Refactor > Rename, Move
* Ctrl + . : 다음 에러나 경고 Next annotation
* Ctrl + , : 이전 에러나 경고 previous annotation
* Alt + -> : 다음
* Alt + <- : 이전               
* Ctrl + Q : 마지막 편집한 지점으로

* Ctrl + Shift + 위화살표, 또는 아래 화살표 : 현 소스에서 이전Method, 다음 Method로 이동


* 자세한 사항은 window > preferences > keys - 내 맘대로 설정 가능

 

 

Posted by 농부지기
,

[ myBatis. Sql WHERE문에서 in 처리(2) ]

 

1. 참고

    - myBatis 기능인  <foreach>를 사용할 경우 상당한 overhead가 발생한다.

   그렇다고 $(문장 그대로 대입)형으로 넘기면 차후에  sql injection에서 추출된다.

 

2. 방법1

  - REGEXP 함수사용하기

    REGEXP_SUBSTR()함수를 사용해서 콤마로 구분된 값을 취하고

    CONNECT BY 를 이용해서 문자열의 콤마갯수+1 만큼 LOOP를 돌아 레코드로 만든다.

  - cdList = "111,222,333,444"; 와 같이 넘긴다.

  - SQL

       

 

3. 방법2

    - DB FUNCTION  : 위 방법1의 SQL을  DB FUNCTION으로 만들어서 결과를 Record를 RETURN

    - 방법1보다 간단 하지만  아주 미세하게 속도는 느림 (고려할만한 수준의 속도 저하는 아님)

    - SQL

          

 

     - FUNCTION

      

 

 

4. 방법3

    1. 개발방법(설명)

       - IN 절에서 사용할 IN_테이블 하나 생성

       - java 단에서 in절에 적용될 code에 대해서 insert처리 한다.

       - IN_테이블을 이용해서  SQL문장 완성  

    2. 실 개발방법

       - (테이블)

          CREATE TABLE IN_TABLE

                     (  GUBN  VARCHAR2(20)    NOT NULL

                     ,  CODE   VARCAHR2(100) NOT NULL

                     )

       - (java)

          . 코드값이 : 111,222,333,444 와 같이 4개가 존재 시

          . IN_TABLE에  [GUBN='partCd'], [CODE='1111', CODE='2222', ... ] 와 같이 Insert한다.

       - (sql)

         

 

 

'Web. 기타 언어 > myBatis' 카테고리의 다른 글

myBatis-pk,sequence 생성  (0) 2019.07.11
myBatis - 사용가능한 jdbcType  (0) 2018.07.18
myBatis. Sql WHERE문에서 in 처리  (0) 2017.12.05
myBatis - isEmpty, isNull  (0) 2017.12.05
myBatis. if. case 문  (0) 2017.12.05
Posted by 농부지기
,