본문 바로가기
반응형

mybatis2

엑셀 import Valid 체크 및 MyBatis 다중 루프 시 변수 처리 이글은 제가 개인적으로 기억해두려고 저장한 글입니다. 1. 엑셀을 받아서 import용 테이블에 넣고 밑에 체크하는걸 추천한다. (밑에 내용을 저장하지 않고 dual을 사용해 임시 테이블 처럼 만들어 체크했다.) 2. myBatis에서 다중 루프가 가능하다. 루프안에 루프 변수를 아래와 같이 호출 가능함 #{uiDatsList.${colList.sCamelColumnId}} 단, $를 사용해야 하기 때문에 해당 List변수(colList)는 반드시 ui단에 받은 리스트가 아닌 서버단에서 만들어지 리스트여야 한다. 3. 날짜 검증은 REGEXP_LIKE를 사용했으니 참고. WITH TMP_TBL_COLS AS ( /*동적컬럼에 명칭 및 타입 등을 갖고 있는 데이터. DB에 저장 된 상태라면 그냥 그 테이블.. 2021. 2. 4.
Mybatis #사용시 속도가 느려지는 현상 1. 오라클에서 직접 실행하면 빠른데 Mybatis에서 느린경우: 너무 느린 쿼리를 로그에서 카피해서 오라클등에 실행해보면 빠르게 나올수 있다. 오라클에서 :변수 (앞에 세미클론) 로 해서 실행하면 마이바티스에서 실행하는 것처럼 PreparedStatement로 작동하기 때문에 이렇게 속도체크를 해봐야한다. #을 사용하게 되는경우는 내부적으로 PreparedStatement로 작동하기 때문에 옵티마이저가 바인드변수로 처리한다. 바인드 변수로 처리하는건 오라클에서 적극 권장하는 방식이지만 특정한 몇가지 경우 옵티마이저가 이상행동을 한다. 예를들어 바인드 변수의 사용시 조건절의 컬럼에 인덱스가 있더라도 varchar2형에 숫자형을 바인드변수로 비교하게되면 인덱스가 있는 컬럼쪽이 to_number()로 형변환.. 2021. 2. 3.
반응형