본문 바로가기

mybatis

(6)
Mybatis Interceptor + RowBounds 를 이용한 페이징 처리 https://github.com/antop-dev/example/tree/master/mybatis-rowbounds-example Mybatis에 RowBounds 클래스를 이용해서 페이징 처리를 할 수 있다. package org.antop.mybatis.mapper; import org.antop.mybatis.model.Employee; import org.apache.ibatis.session.RowBounds; import java.util.List; public interface EmployeeMapper { List select(RowBounds rowBounds); } select * from employees order by emp_no asc 위와 같이 맵퍼와 XML 이 있다. Ro..
Image Pyramid Introduction 아주 오래 전 플렉스와 실버라이트가 난리를 쳤을 때 난 플렉스를 공부 했었다. 그 때 훈스닷넷에서 하는 실버라이트 세미나를 갔었는데(왜 플랙스 세미나를 안가고...) 그 때 발표자(?)가 발표를 했던게 실버라이트의 이미지 피라미드였다. 그 때.. 난 "아 참 조쿠나~" 라고 생각 해놨다가 꽤 오랜 시간이 지난 지금 생각이 났다. ㅋㅋㅋ Fundamental 고용량의 큰 이미지가 있다. 이 이미지를 브라우저에서 본다고 하자. 그러면 실제로 화면에 보여지는 이미지의 영역은 얼마 안될 것이다. 하지만 큰 이미지를 한번에 가져오기 때문에 네트워크 낭비가 심하다. 이 문제를 해결하기 위해서 이미지를 잘게 자른 후 화면(브라우저)에 보이는 영역만 불러오는 것이다! 이것 저것 찾아보니까 이미지..
Infinite Routing DataSource 스프링을 이용하여 몇개의 데이터소스를 정해놓고 라우팅을 하는 경우 AbstractRoutingDataSource를 이용할 수 있었습니다. 하지만 경우에 따라 접속해야하는 데이터베이스가 무한대일 경우? 그래서 이것저것 생각해 봤는데 -_-.... 로그인시에 [고객 코드], [아이디], [비밀번호] 3가지를 입력 받습니다. [고객코드]로 고객을 찾은 후 고객의 정보로 디비 정보를 만든 후 ThreadLocal에 저장합니다. 그 후 로그인 처리를 합니다. 로그인 시에 데이터소스를 사용할 때 ThreadLocal에 있는 디비 정보(DbInfo 객체)로 데이터소스를 만들거나 캐쉬에서 가져오게 합니다. 로그인 때에 처음 그 데이터베이스에 접속을 하게 되니까 RoutingDataSource 부분에서 데이터소스를 처음..
Proftpd Manager 드디어 오랜기간의 방황을 깨고 마무리가 되었습니다. ㅠ_ㅠ 빠진 기능도 있고 버그도 있겠지만(?) 다음 과제(?)를 위해서 마무리~ 소개... Ubuntu 에 Proftpd 와 Mysql 을 이용해서 사용자 관리와 파일 전송 기록을 남길 수가 있습니다. http://www.sysadminworld.com/2011/install-proftpd-with-mysql-backend-on-debian-ubuntu/ 위와 같은 테이블로 관리를 하게 됩니다. 유저와 그룹을 관리하고 쌓이기만 하는 전송 기록을 볼 수 있는 웹어플을 한번 만들어 봤습니다. ※ 원래 데이터베이스는 MySQL 인데 샘플을 위해서 SQLite 로 데이터를 옮겼습니다. 사용한 기능... Spring Framework 3 - Core, AOP, ..
Mybatis Type Handler 마이바티스를 이용하여 자바 객체와 데이터베이스 테이블을 매핑할 때 서로 완전히 다른 타입의 것들을 사용할 때가 있습니다. 그 예로 대표적인 예가 자바의 Boolean 과 데이터베이스의 플래그 문자입니다. 오라클 같은경우 boolean 타입이 없기 때문에 보통 CHAR(1) 잡고 Y/N 값을 많이 사용합니다. 다른 경우는 1 or 0 을 사용하여 참/거짓, 사용/미사용, 차단/허용 같은 on/off 플래그 값을 사용합니다. 값 자바 데이터베이스 boolean CHAR(1) INTEGER 참 / 사용 true Y 1 거짓 / 미사용 false N 0 org.apache.ibatis.type.TypeHandler 인터페이스를 이용해서 서로 다른 타입을 연결할 수 있습니다. package com.tistory...
Eclipse + MyBatis Generator 이번 프로젝트는 Spring + MyBatis 입니다.... ㄷㄷ(난 하이버네이트가 더 좋은데 ㅠㅠ) 뭐든 ORM이 마찬가지지만 설정을 열라 해줘야 합니다... 매핑 같은거 ㅠㅠ 하버네이트는 DB 긁어와서 파일 만들어줬는데 마이바티스는 없나.. 해서 찾아보니 역시나 있었습니다.!! Eclipse Helios 사용. Installation 이클립스에서 Help -> Install New Software.. 사이트 주소 : http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/ Create Config File 이클립스에서 File -> New -> Other 클릭. 플러그인을 정상적으로 설치했으면 아래와 같이 "M..