有的时候我们需要在应用启动或关闭的时候加载一些数据库脚本来执行某些任务,在spring中jdbc:initialize-database 能很好的解决这一需求。具体配置如下:
<!-- 应用启动执行sql,初始化数据库脚本-->
<jdbc:initialize-database data-source="dataSource" enabled="false" ignore-failures="ALL">
<jdbc:script location="classpath*:sql-init.sql" encoding="UTF-8" separator=";" execution="INIT"/>
</jdbc:initialize-database>
data-source: 数据源bean
enabled:是否启用,默认为true
ignore-failures: 执行脚本时忽略错误类型,ALL,DROP,NONE。
- ALL:忽略所有错误
- DROP:忽略删除表的错误
- NONE:不忽略错误,即遇到错误就停止执行(默认为NONE)
jdbc:script:这个属性是必需的 至少一个,表示要执行的脚本
- location:需要执行的脚本的路径
- encoding:脚本编码
- separator:脚本指令分隔符,默认为 分号(;)
- execution:执行脚本的时机,INIT,DESTROY; INIT 表示在bean初始化有执行,DESTROY表示在bean销毁时执行。