我有一个Spring Boot应用程序,我需要它在数据库初始化期间以管理员帐户填充users
表作为root帐户。
检查网络,我被告知要确保我的application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/dbname?createDatabaseIfNotExist=true
spring.datasource.username=root
spring.datasource.password=
spring.jpa.generate-ddl= true
spring.jpa.hibernate.ddl-auto= update
spring.datasource.initialize=true
spring.jpa.hibernate.dialect= org.hibernate.dialect.MySQL5Dialect
我在data.sql
文件夹中也有resourses
以及以下SQL语句
INSERT INTO users (username, password) VALUES ('admin', '$shiro1$SHA-256$500000$FkZcH5hP9oiYkP6UBK/84Q==$RHFwVRYTKNnCpKtlOu3Nfts8I+3Azfw5iUWokmW0dgI=')
当我运行应用程序时,此数据不会插入到用户表
中我有this Github repo进行演示。
答案 0 :(得分:1)
你也必须有一个schema.sql
文件,它不能为空;这是一个黑客攻击,但您可以使用以下内容创建schema.sql
:
SELECT 1;
一切都应该正常工作。
有关详细信息,请参阅official documentation。