기술과 산업/언어 및 프레임워크

embedded-database 사용하기

B컷개발자 2012. 12. 12. 11:12
728x90

embedded-database는 특성상 Data Source 연결 설정이 거의 동일하거나 단순함.


설정정보를 입력하지 않아도됨, 하고 싶다면 별도의 빈 설정으로 입력


초기화 스크립트는 이클립스에서 스프링 스키마 문제가 있다고 나오지만 valid하게 만드는 법은 모르겠음. 작동에는 문제가 없음. 이클립스에서 그냥 무시하고 사용해도됨. 


jdbc:initialize-database를 사용하지 않고 초기화 빈을 설정하면 invalid에러가 나지 않음.


1. Data Source 설정 - HSQL


예1) HSQL 설정


<jdbc:embedded-database id="embeddedDatasource" type="HSQL" /> 

예2) 초기화 스크립트 정의

<jdbc:initialize-database data-source="embeddedDatasource" ignore-failures="DROPS">
<jdbc:script location="classpath*:/sql/schema.sql" />
<jdbc:script location="classpath*:/sql/data-sample.sql" />
</jdbc:initialize-database>


2. 초기화 invalid 에러를 무시하지 않고 없애는 법


<bean id="dataSourceInitializer"
class="org.springframework.jdbc.datasource.init.DataSourceInitializer">
<property name="dataSource" ref="embeddedDatasource" />
<property name="databasePopulator">
<bean
class="org.springframework.jdbc.datasource.init.ResourceDatabasePopulator">
<property name="sqlScriptEncoding" value="UTF-8" />
  <property name="scripts">
<list>
<value>classpath*:/sql/schema.sql</value>
<value>classpath*:/sql/data-sample.sql</value>
</list>
</property>
</bean>
</property>
</bean>



3. Jdbc Template 설정


예1) p 네임스페이스 사용

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" p:dataSource-ref="embeddedDatasource">
</bean> 

 예2) 프로퍼티 사용
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="embeddedDatasource" />
</bean>



환경

Eclipse + Spring 3.1 + HSQL



codesnippet-dao.7z




728x90