java, spring

[Spring Framework] SQLSessionFactory

isaac.kim 2021. 6. 11. 23:26
728x90
반응형

[Spring Framework] SQLSessionFactory

MyBatis에서 가장 핵심적인 객체는 SQLSession이라는 존재와 SQLSessionFactory입니다. SQLSessionFactory의 이름에서 보듯이 내부적으로 SQLSession이라는 것을 만들어 내는 존재인데, 개발에서는 SQLSession을 통해서 Connection을 생성하거나 원하는 SQL을 전달하고, 결과를 리턴 받는 구조로 작성하게 됩니다.

 

root-context.xml에서는 아래와 같은 형태로 작성합니다.

root-context.xml 일부

 	<!-- HikariCP configuration -->
	<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"
    	destroy-method="close">
    	<constructor-arg ref="hikariConfig"/>
	</bean>
	
	<!-- MyBatis에서 가장 핵심적인 객체 = SQLSession이라는 존재와 SQLSessionFactory입니다. -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
	</bean>

 

Java 설정을 이용하는 경우

RootConfig 클래스에 @Bean을 이용해서 설정합니다.

	@Bean
	public SqlSessionFactory sqlSessionFactory() throws Exception {
		SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
		sqlSessionFactoryBean.setDataSource(dataSource());
		return (SqlSessionFactory) sqlSessionFactoryBean.getObject();
	}
728x90
반응형