본문 바로가기
반응형

OpenSource/Mybatis&Ibatis10

[Oracle, PostgreSQL] Mybatis Paging 처리 Mybatis Paging 처리는 RowBounds와 Oracle의 ROWNUM, PostgreSQL의 LIMIT 등등 구현으로 구현을 할 수 가있다. 그래서 흔히 Mybatis를 사용하는 유저라면 부딪히는 RowBouds..의 문제점인 대용량 일 경우에 엄청나게 느리다는 것이다. 전체를 다 가져와서 작업 하기 때문이다. Oracle인 경우 1) sqlmap SELECT * FROM( SELECT ROWNUM as rnum, A.aaa, A.bbb, 블라블라~ FROM TABLE A WHERE A.USER_NM like #{searchText}||'%' )WHERE rnum >= #{offSet} AND rnum < #{limit} 튜닝을 할 경우 즉, 대용량 일 경우는 먼저 가져온 뒤에 다시 가져오는 .. 2013. 11. 25.
java.lang.IllegalArgumentException: At least one base package must be specified 오류내역 java.lang.IllegalArgumentException: At least one base package must be specified 상 황 : mybatis의 MapperScannerConfigurer를 사용하고 있는데 아래와 같이 basePackage의 value값에 ""로 셋팅하였을 때 발생 한다. 해결책 dao패키지를 최소한 하나 넣어주면 된다. 오류내역처럼~ At least one base package must be specified - 끝 - 2013. 10. 8.
mybatis 3.1 개발자 local용 아쉽게 블로그 포스팅을 거의 못하고 있어서...시간 내서 작성을 하려고 합니다^-^good~ 오늘의 포스팅은! mybatis logger쪽 입니다. 환경 : Spring 3.1 mybatis-3.1.1.jar 서론 : 현재 mybatis에서는 sql문과 parameter 부분이 서로 나뉘어져 logging되고 있습니다. 개발을 할 때 param이 많다면 일일이 매핑 시켜서 오렌지나, sql develop 등등으로 보기에는 너무 힘이 들 것 입니다. 그래서 간단히..mybatis 소스를 조작하여 개발하여 보았습니다만.. 개발자 local용이라는 단점이 있습니다. server용은 아닙니다..ㅋㅋ;; 기본 제공 변경 후 ex) select * from acetDB => select * from acetDB w.. 2013. 8. 9.
요즘..(now a days..) Mybatis 소스를 조금 보고 있다.. logging부분인데 요즘 디자인패턴을 공부하고 있는데 Mybatis 소스에 떡~~하니 adapter 패턴과 proxy패턴이 쓰이고 있었다! 방가방가~~^-^/ 목표 : 현재 Mybatis 소스에서는 sql 과 parameter가 함께 나오지 않고 각각 따로따로 나오고 있다. 이것을 개발자 입장에서 봤을 때 참으로 짜증나는 일이 아닐수 없다. 쿼리를 날려보고 싶은데... ? 요녀석을 파라미터로 일일이 노가다작업으로 채워야 할 것이다. Oh my god!~ 그래서 Mybatis 소스를 조금 수정하여 이런 노가다 작업을 없애보기로 했다. 현재는 작업 중이며..어려움 중에 하나가.. sql이 나오는 부분은 ConnectonLogger라는 부분이고 parameter가 나.. 2013. 8. 1.
Batch Update 기능 Batch Update 기능 이란? 업무를 처리하는 웹 어플리케이션에서는 Insert, Update, Delete와 같은 Transactional 데이터 처리(OLTP)가 빈번하게 발생 한다. OLTP에 대한 대용량의 데이터 요청이 발생하면, 한번의 데이터 Connection으로 다수의 쿼리(설정된 쿼리의 개수)를 처리 하여 Connection의 횟수를 줄이므로 성능을 향상 시킬수 있다. 간단히 말하면 여러개의 CUD를 한번의 커넥션으로 처리 가능하다는 말이다! ^-^goood~ ibatis에 비해 매우 간단하다^-^goood~ 1) 아래와 같이 옵션을 준다. 2) Service에서 사용 하면 끝~~ 아래처럼 단일 건 또는 for문 이용, List 형태로 받아서 Iterator 로 사용 가능 하다. 1).. 2013. 6. 27.
Mybatis 동적 sql 주의사항 UPDATE TB_TEST A SET A.MENU_NM = #{menuNm}, A.MENU_DESC_SBST = #{menuDescSbst}, (X) A.BOARD_ID = #{boardId}, A.MENU_USE_YN = #{menuUseYn}, WHERE A.MENU_ID = #{menuId} (O) - END - 2013. 6. 17.
Mybatis SVN 주소 참고참고~ http://mybatis.googlecode.com/svn 2013. 5. 9.
org.postgresql.util.PSQLException: Returning autogenerated keys is not supported 환경 : springframework 3.1 + PostgreSQL 9.2 + Mybatis 사용 오류내용 : org.postgresql.util.PSQLException: Returning autogenerated keys is not supported. ### SQL: INSERT INTO BOARD (title, contents, reg_id, reg_date, mod_id, mod_date) VALUES (?, ?,?,current_timestamp,?,current_timestamp) ### Cause: org.postgresql.util.PSQLException: Returning autogenerated keys is not supported. ; uncategorized SQLExcepti.. 2013. 1. 22.
Mybatis 시작하기 전.. 모든 MyBatis 애플리케이션은 SqlSessionFactory 인스턴스를 사용 SqlSessionFactory 인스턴스는 SqlSessionFactoryBuilder 를 사용 SqlSessionFactoryBuilder 는 XML 설정파일에서 SqlSessionFactory 인스턴스를 빌드할 수 있다. Mybatis를 사용하기 위해 설정을 하고자 한다면 아래의 내용을 볼 수 있을 것이다. 아래는 spring에서 bean 설정을 해주는 부분이다. 아래의 용어들에 대해서 살펴볼 필요가 있다. SqlSessionFactoryBuilder 이 클래스는 인스턴스회되어 사용되고 던져질 수 있다. SqlSessionFactory 를 생성한 후 유지할 필요는 없다. 그러므로 SqlSessionFactoryBuild.. 2013. 1. 2.
ibatis 쓸만한 것 정리 ■ Ibatis 1) - : 여기서 지정된 쿼리 매핑 구문이 실행되면 캐시의 내용을 지운다. - : 캐시의 내용을 지우는 시간 간격을 정의 한다. 2) 3) 4) item_id = #item_id# 5) /* Item.getItemList */ /* 요소를 넣을 수 도 있다. */ 6) /* Item.getDeliPriceCode */ select deli_price_code From item Where item_id= #item_id# and rownum =1 7) 8) ............................................................ 9) /* Item.getItemPositionStockQty*/ SELECT F1_PRICEMGR_STOCKQTY_TEMP(.. 2012. 4. 24.
반응형