공부/MYBATIS(25)
-
201. 설정
마이바티스 설정은 마이바티스가 어떻게 운용되는지에 대한 드라마틱한 효과를 주는 속성과 세팅을 포함해. 이 장의 큰 구조는 다음과 같아.설정프라퍼티세팅타입알리아스타입핸들러객체팩토리플러그인환경들환경트랜잭션매니저데이터소스데이터베이스제공자매퍼스
2012.04.18 -
105. 범위와 생명주기
지금까지 다룬 클래스의 다양한 범위와 생명주기를 이해하는 것이 정말 중요해. 이것들을 잘못 사용하게 되면 일관성에 심각한 문제를 야기할거야. SQLSessionFactoryBuilder이 클래스는 인스턴스화될 수 있고, 사용될 수 있고, 던져질 수 있어. 한 번 SqlSessionFactory를 생성하면 계속해서 그것을 유지할 필요는 없지. 그러므로 가장 좋은 SqlSessionFactoryBuilder의 범위는 메소드범위(예를 들면, 지역 메소드 변수)지. SqlSessionFactory 인스턴스를 여러개 만들기 위해서 SqlSessionFactoryBuilder를 사용할 수 있지만, 모든 XML 파싱 자원들이 다른 중요한 일들을 위해 쓰일 수 있음을 확신할 수 있도록, 이걸 유지하지 않는게 여전히 제..
2012.04.18 -
104. 매핑된 SQL Statements 살펴보기
이제 SqlSession 이나 Mapper class에 의해 정확히 무엇이 실행되는지 궁금할겨. 이 주제는 Mapped SQL Statement의 하나의 큰 주제이고, 이 문서의 대부분에서 주요하게 다루어지지. 너에게 정확이 무엇이 수행되는지에 대한 아이디어를 주기위해 한 쌍의 예를 준비했어. 앞서 말했던 예제에서처럼, statement는 XML 혹은 Annotations로 정의될 수 있어. XML을 먼저 볼까. mybatis에 의해 제공되는 모든 특징은 mybatis를 수년에 걸쳐 인기있게 만든 XML기반 매핑 언어 사용으로 인식될 수 있어. 전에 mybatis를 사용해봤다면 그 개념이 친숙하겠지만, XML 매핑 문서는 수 많은 개선이 있었기에 좀 더 뒤에 그 개념이 명확해질 거야. 아래는이전에 얘기한..
2012.04.17 -
103. SqlSessionFactory 로부터 SqlSession 얻어내기
이제 SqlSessionFactory가 있으니, 주어진 이름 그대로, 너는 SqlSession의 인스턴스를 취득할 수 있어. SqlSession은 데이터베이스에 SQL 명령을 실행시키기 위해 필요한 모든 메쏘드를 포함하고 있어. 진짜로. 너는 SqlSession 인스턴스에 직접 매핑된 SQL 문장을 실행시킬 수 있어. 예를들면....SqlSession session = sqlSessionFactory.openSession(); try { Blog blog = session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101); } finally { session.close(); }이러한 접근 방식은 이전 버번의 mybatis 사용자들에게는 매우 친숙하..
2012.04.17 -
102. XML 없이 SqlSessionFactory 만들기
XML보다 Java 코드로 직접 설정하는 것을 좋아한다던가, 너만의 설정을 통해 생성하고 싶다면, mybatis는 XML과 똑같은 설정을 제공하는 완벽한 Configuration 클래스를 제공하니까 그렇게 해도 돼.DataSource dataSource = BlogDataSourceFactory.getBlogDataSource(); TransactionFactory transactionFactory = new JdbcTransactionFactory(); Environment environment = new Environment("development", transactionFactory, dataSource); Configuration configuration = new Configuration(env..
2012.04.17 -
101. XML파일로부터 SqlSessionFactory 만들기
XML파일로부터 SqlSessionFactory 만드는것은 겁나 쉬워. 이러한 설정을 위해 클래스패스자원을 사용하는것이 추천되어지지만, 파일경로문자나 파일URL ( file:// )을 포함하는 InputStream 인스턴스를 사용하는것도 가능해. mybatis에는 클래스패스나 어떤 다른 위치로부터 리소스들을 손쉽게 가져올 수 있는 몇 가지 메소드를 포함한 Resources라 불리는 유틸리티 클래스가 포함되어 있어.String resource = "org/mybatis/example/mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFact..
2012.04.17