SqlSessionfactory(4)
-
105. 범위와 생명주기
지금까지 다룬 클래스의 다양한 범위와 생명주기를 이해하는 것이 정말 중요해. 이것들을 잘못 사용하게 되면 일관성에 심각한 문제를 야기할거야. SQLSessionFactoryBuilder이 클래스는 인스턴스화될 수 있고, 사용될 수 있고, 던져질 수 있어. 한 번 SqlSessionFactory를 생성하면 계속해서 그것을 유지할 필요는 없지. 그러므로 가장 좋은 SqlSessionFactoryBuilder의 범위는 메소드범위(예를 들면, 지역 메소드 변수)지. SqlSessionFactory 인스턴스를 여러개 만들기 위해서 SqlSessionFactoryBuilder를 사용할 수 있지만, 모든 XML 파싱 자원들이 다른 중요한 일들을 위해 쓰일 수 있음을 확신할 수 있도록, 이걸 유지하지 않는게 여전히 제..
2012.04.18 -
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