2015-06-04 79 views

回答

1

Spring並不是真正意義上的數據庫遷移,你應該看看像FlyWay這樣的工具,它會照顧它。

0

Spring DAO?不,DAO是Data Access Object,您需要類似Structure Access Object不存在(並可能永遠不會)。

1

儘管將它作爲Maven生命週期的一部分來實現會更好,但在編程上可以通過Spring框架實現相同的功能。我不會建議使用基於DAO的方法。正如@Eric Citaire所提到的,建議使用像Flyway,Liquibase這樣的框架。現在,這兩個框架在Spring中運行得非常好,並且具有很好的集成性。

在飛路要添加需要的配置的情況下是:

<bean id="flyway" class="org.flywaydb.core.Flyway" depends-on="dataSource"> 
     <property name="dataSource" ref="dataSource"/> 
    </bean> 

然後從代碼注入飛路豆,只需訪問該遷移(),其將使用腳本來遷移分貝。

Liquibase也可以達到同樣的效果。

在liquibase需要添加的配置是案例:

<bean id="liquibase" class="liquibase.integration.spring.SpringLiquibase"> 
     <property name="dataSource" ref="myDataSource" /> 
     <property name="changeLog" value="classpath:db-changelog.xml" /> 
     <property name="contexts" value="dev" /> 
</bean>