Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Spring动态添加/更改表列_Java_Spring_Yii - Fatal编程技术网

Java 使用Spring动态添加/更改表列

Java 使用Spring动态添加/更改表列,java,spring,yii,Java,Spring,Yii,可以在Spring框架中动态添加数据库表列吗 我的意思是使用SpringDAO修改表来添加一个新列,而无需重新生成或编译 我发现这在Yii(php)框架中使用是可能的。Spring并不是真正用来做DB迁移的,你应该看看这样的工具,它会解决这个问题。Spring DAO?不,DAO是数据访问对象,您需要像结构访问对象这样的东西,不存在(而且可能永远不会存在)。尽管最好将其作为Maven生命周期的一部分来实现,但从语法上讲,使用Spring框架可以实现同样的目标。我不建议为此使用基于DAO的方法。正

可以在Spring框架中动态添加数据库表列吗

我的意思是使用SpringDAO修改表来添加一个新列,而无需重新生成或编译


我发现这在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>

您为什么需要此功能?