如何在Spring Boot
应用程序启动时将数据插入表中?我的应用程序由JHipster
生成。我需要检查的是,该特定数据是否已存在于该表中。如果不是,我应该添加它。
答案 0 :(得分:2)
如果您的应用程序是由JHipster生成的,那么它应该已经包含并正确配置Liquibase。
您有几个选择:
loadData
中查找00000000000000_initial_schema.xml
代码作为示例。所有三个选项都可以与preconditions结合使用,以确保在尝试插入数据之前数据不存在。如果您每次启动应用程序时都需要运行变更集,则可以使用runAlways="true"
属性(this页面上的文档)。
答案 1 :(得分:1)
您可以在服务类中创建一个功能,检查数据是否已经存在,如果没有,则保存该数据。
答案 2 :(得分:0)
您可以实现ApplicationRunner
并使用存储库来执行您需要执行的操作。
如果ApplicationRunner
是一个spring bean,它将在应用程序启动时运行。
对于更复杂的要求,我会尝试依赖flyway that has good integration with spring boot
之类的工具