ABOUT ME

B급 개발자 이야기, 인생은 B 컷이 전부다.

Today
Yesterday
Total
  • embedded-database 사용하기
    개발 2012. 12. 12. 11:12
    반응형

    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




    반응형
Designed by Tistory.