Java 使用Spring动态添加/更改表列
可以在Spring框架中动态添加数据库表列吗 我的意思是使用SpringDAO修改表来添加一个新列,而无需重新生成或编译Java 使用Spring动态添加/更改表列,java,spring,yii,Java,Spring,Yii,可以在Spring框架中动态添加数据库表列吗 我的意思是使用SpringDAO修改表来添加一个新列,而无需重新生成或编译 我发现这在Yii(php)框架中使用是可能的。Spring并不是真正用来做DB迁移的,你应该看看这样的工具,它会解决这个问题。Spring DAO?不,DAO是数据访问对象,您需要像结构访问对象这样的东西,不存在(而且可能永远不会存在)。尽管最好将其作为Maven生命周期的一部分来实现,但从语法上讲,使用Spring框架可以实现同样的目标。我不建议为此使用基于DAO的方法。正
我发现这在Yii(php)框架中使用是可能的。Spring并不是真正用来做DB迁移的,你应该看看这样的工具,它会解决这个问题。Spring DAO?不,DAO是
数据访问对象
,您需要像结构访问对象
这样的东西,不存在(而且可能永远不会存在)。尽管最好将其作为Maven生命周期的一部分来实现,但从语法上讲,使用Spring框架可以实现同样的目标。我不建议为此使用基于DAO的方法。正如@Eric Citaire所提到的,建议使用Flyway、Liquibase等框架。现在,这两个框架都可以很好地与Spring配合使用,并且具有很好的集成性
对于flyway,需要添加的配置为:
<bean id="flyway" class="org.flywaydb.core.Flyway" depends-on="dataSource">
<property name="dataSource" ref="dataSource"/>
</bean>
然后从代码注入Flywaybean,只需访问migrate(),它将使用脚本迁移db
在液化酶中也可以实现同样的效果
在液化的情况下,需要添加的配置为:
<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>
您为什么需要此功能?