如何將數據插入Spring Boot
應用程序啓動表上?我的應用程序由JHipster
生成。我需要檢查的是,如果該特定數據已經存在於該表中或者沒有。如果它不,我應該添加它。如何在彈簧啓動應用程序啓動時將數據插入表中?
0
A
回答
1
您可以實施ApplicationRunner
並使用存儲庫來執行任何您需要的操作。
如果ApplicationRunner
是一個spring bean,它將在應用程序啓動時運行。
對於更復雜的要求,我會嘗試依靠的工具,像flyway that has good integration with spring boot
+0
謝謝。我創建了一個bean。用@ PostConstruct註解保留一個方法。從方法中調用服務。工作正常。 – fatCop
1
如果被JHipster生成您的應用程序,那麼它應該已經包含和被正確配置Liquibase。
您有幾種選擇:
- 您可以使用Liquibase的insert改變插入數據。
- 您可以將數據存入CSV文件並使用loadData更改加載它。示例中查找
00000000000000_initial_schema.xml
中的loadData
標記。 - 您可以使用sql更改直接運行原生SQL。
所有這三個選項都可以與preconditions合併,以確保數據在嘗試插入之前不存在。如果每次啓動應用程序時都需要運行更改集,則可以使用runAlways="true"
屬性(文檔位於this頁面)。
1
您可以在您的服務等級中創建一個函數,該函數檢查數據是否已經存在,如果不存在,則保存該數據。
相關問題
- 1. 如何在彈簧啓動時從模型插入數據表
- 2. 自動啓動彈簧應用程序
- 3. 多彈簧啓動應用程序
- 4. Camelize彈簧啓動應用程序
- 5. 彈簧啓動web啓動器應用程序顯示錯誤
- 6. 如何在彈簧啓動應用程序中訪問AuditReaderFactory?
- 7. 如何在彈簧啓動時將一些變量注入到application.yml中啓動
- 8. 彈簧集成 - 在應用程序啓動時運行流程
- 9. 在一個彈簧啓動應用程序中讀取和寫入數據源
- 10. 如何在彈簧啓動時手動啓動飛路
- 11. 暫停彈簧啓動應用程序啓動,直到彈簧雲配置服務器啓動
- 12. RabbitMQ嵌入式代理不是從彈簧啓動應用程序啓動
- 13. 無法在彈簧啓動數據休息時啓用CORS
- 14. 啓動應用程序彈簧啓動後在類中執行某些方法
- 15. 如何使用彈簧啓動應用程序
- 16. Azure應用服務 - 啓動時彈出啓動應用程序
- 17. 無法在彈簧啓動時啓動嵌入式Tomcat
- 18. 啓動應用程序在啓動時
- 19. 在啓動時啓動應用程序
- 20. 在啓動時啓動應用程序
- 21. 在同一時間使用兩個彈簧啓動應用程序時退出一個彈簧應用程序
- 22. 如何登錄到我的新彈簧啓動應用程序?
- 23. 如何製作基本的彈簧啓動應用程序?
- 24. 創建自動配置彈簧庫以彈簧啓動應用程序
- 25. 運行彈簧啓動應用程序時編譯錯誤
- 26. 啓動後彈出啓動應用程序立即啓動
- 27. 彈簧自動裝配失敗,但應用程序啓動
- 28. 移動彈簧啓動Web應用程序8
- 29. 如何在Google Glass啓動時自動啓動應用程序?
- 30. 如何在Windows啓動時自動啓動應用程序?
你能告訴我們你已經試過了嗎?關於您閱讀的主題的任何文章?你有沒有遇到特定的錯誤? – miensol
您是否嘗試過[this](http://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html)? –