mybatis(22)
-
205. 타입핸들러 (typeHandler)
마이바티스가 파라미터를 PreparedStatement에 세팅하거나, ResultSet으로부터 값을 추적할 때마다, 타입핸들러는 알맞은 자바 타입의 값을 추적하기 위해 씌여. 다음 테이블은 타입핸들러 기본값을 보여주지 타입핸들러 자바타입JDBC 타입BooleanTypeHandlerjava.lang.Boolean, booleanBOOLEAN과 호환되는 모든것ByteTypeHandlerjava.lang.Byte, byteNUMERIC 이나 BYTE와 호환되는 모든것ShortTypeHandlerjava.lang.Short, shortNUMERIC 이나 SHORT INTEGER 와 호환되는 모든것IntegerTypeHandlerjava.lang.Integer, intNUMERIC 이나 INTEGER와 호환되는 ..
2012.04.19 -
204. 타입알리아스(typeAlias)
타입 알리아스는 자바타입에 대한 간단한 짧은 이름이다. XML 설정에만 관계되고, 클래스풀네임을 타이핑하는 수고를 덜어주기 위해 존재한다. 위 예제에서 Blog 는 domain.blog.Blog가 쓰일 수 있는 곳 어디라도 쓰일 수 잇다. 또한 마이바티스가 찾을 빈이 있는 패키지를 기술할 수 있다. domain.blog에서 발견되는 빈들은, 아무런 어노테이션이 없다면, 소문자화되고 풀네임이 아닌 빈의 별명으로 등록될 것이다. 즉, domain.blog.Author 은 author 로 등록될 것이다. 만약 @Alias 어노테이션이 발견된다면, 그 값이 별명으로 사용될것이다. 아래 예제를 보자. @Alias("author") public class Author { ... } 일반 자바타입에 대한 수 많은 내..
2012.04.19 -
203. 세팅 (Settings)
이것들은 마이바티스가 작동되는 방식을 수정하는 매우 중요한 내용이야. 다음 테이블은 각각의 세팅과 그 의미 그리고 기본값들을 설명한거야.세팅설명가능값기본값cacheEnabled이 설정으로 모든 매퍼의 모든 캐시를 전역으로 사용할지 말지를 결정true | falsetruelazyLoadingEnabled늦은 로딩을 전역으로 가능하게 할지 말지를 설정. disable이면 연관된 모든 것들은 빠른 로딩이 됨true | falsetrueaggressiveLazyLoadingenable일 경우, 늦은 로딩 프라퍼티 객체는 모든 늦은 로딩 프라퍼티의 호출에 의해 로드될 것이다. 반면, 각 프라퍼티는 필요에 의해 로딩.true | falsetruemultipleResultSetsEnabled하나의 구문으로부터 여러개..
2012.04.19 -
202. 속성들 (propertis)
이것들은 특정 자바 프라퍼티 파일 인스턴스에 설정되거나 프라퍼티 요소의 서브요소로 갈 수도 있는, 외부로 빼거나 대용 가능한 속성들이야. 예를 들면 프라퍼티는 동적으로 속성값을 대체하기 위해, 속성 파일 전체에 걸쳐 사용될 수 있어, 예를 들면 이 예제에서 username과 passwor는 프라퍼티 요소로 세팅된 값으로 대체될 수 있어. driver와 url 프라퍼티는 config.properties 파일에 포함된 값으로 대체되지. 이는 많은 설정 옵션을 제공해.프라퍼티는 또한 SqlSessionBuilder.build() 메소드로 패스되기도 해. 예를 들면SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader, props); // ... o..
2012.04.18 -
201. 설정
마이바티스 설정은 마이바티스가 어떻게 운용되는지에 대한 드라마틱한 효과를 주는 속성과 세팅을 포함해. 이 장의 큰 구조는 다음과 같아.설정프라퍼티세팅타입알리아스타입핸들러객체팩토리플러그인환경들환경트랜잭션매니저데이터소스데이터베이스제공자매퍼스
2012.04.18 -
105. 범위와 생명주기
지금까지 다룬 클래스의 다양한 범위와 생명주기를 이해하는 것이 정말 중요해. 이것들을 잘못 사용하게 되면 일관성에 심각한 문제를 야기할거야. SQLSessionFactoryBuilder이 클래스는 인스턴스화될 수 있고, 사용될 수 있고, 던져질 수 있어. 한 번 SqlSessionFactory를 생성하면 계속해서 그것을 유지할 필요는 없지. 그러므로 가장 좋은 SqlSessionFactoryBuilder의 범위는 메소드범위(예를 들면, 지역 메소드 변수)지. SqlSessionFactory 인스턴스를 여러개 만들기 위해서 SqlSessionFactoryBuilder를 사용할 수 있지만, 모든 XML 파싱 자원들이 다른 중요한 일들을 위해 쓰일 수 있음을 확신할 수 있도록, 이걸 유지하지 않는게 여전히 제..
2012.04.18