Spring Boot如何实现自动执行SQL脚本?
- 内容介绍
- 文章标签
- 相关推荐
本文共计377个文字,预计阅读时间需要2分钟。
说明:所有代码基于SpringBoot 2.0.3版本。在应用程序启动后,可以自动执行建库、建表等SQL脚本。以下以自动化执行`people.sql`脚本为例进行说明,脚本在SpringBoot工程中的路径为`cla`。
sqlCREATE TABLE people ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), age INT);
说明:所有的代码基于SpringBoot 2.0.3版本
背景
在应用程序启动后,可以自动执行建库、建表等SQL脚本.下文中以要自动化执行people.sql脚本为例说明,脚本在SpringBoot工程中的路径为:classpath:people.sql,脚本的具体内容如下:
CREATE TABLE IF NOT EXISTS people( persion_id BIGINT NOT NULL AUTO_INCREMENT, first_name VARCHAR(20), last_name VARCHAR(20), PRIMARY KEY (persion_id) );
实现核心
在SpringBoot的架构中,DataSourceInitializer类可以实现自动执行脚本的功能。通过自定义DataSourceInitializer Bean就可以实现按照业务要求执行特定的脚本。
实现方法
前提
已经构建了DataSource Bean。
本文共计377个文字,预计阅读时间需要2分钟。
说明:所有代码基于SpringBoot 2.0.3版本。在应用程序启动后,可以自动执行建库、建表等SQL脚本。以下以自动化执行`people.sql`脚本为例进行说明,脚本在SpringBoot工程中的路径为`cla`。
sqlCREATE TABLE people ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), age INT);
说明:所有的代码基于SpringBoot 2.0.3版本
背景
在应用程序启动后,可以自动执行建库、建表等SQL脚本.下文中以要自动化执行people.sql脚本为例说明,脚本在SpringBoot工程中的路径为:classpath:people.sql,脚本的具体内容如下:
CREATE TABLE IF NOT EXISTS people( persion_id BIGINT NOT NULL AUTO_INCREMENT, first_name VARCHAR(20), last_name VARCHAR(20), PRIMARY KEY (persion_id) );
实现核心
在SpringBoot的架构中,DataSourceInitializer类可以实现自动执行脚本的功能。通过自定义DataSourceInitializer Bean就可以实现按照业务要求执行特定的脚本。
实现方法
前提
已经构建了DataSource Bean。

