【发布时间】:2016-10-28 16:15:25
【问题描述】:
我想知道在应用程序启动之前加载初始数据库数据的最佳方式是什么?我正在寻找的是可以用数据填充我的 H2 数据库的东西。
例如,我有一个域模型“用户”,我可以通过转到 /users 来访问用户,但最初数据库中不会有任何用户,所以我必须创建它们。是否有自动填充数据库的数据?
目前我有一个被容器实例化并为我创建用户的 Bean。
例子:
@Component
public class DataLoader {
private UserRepository userRepository;
@Autowired
public DataLoader(UserRepository userRepository) {
this.userRepository = userRepository;
LoadUsers();
}
private void LoadUsers() {
userRepository.save(new User("lala", "lala", "lala"));
}
}
但我非常怀疑这是最好的方法。还是这样?
【问题讨论】:
-
这行得通,或者只是将
data.sql和/或schema.sql添加到初始化数据中。所有这些都是参考指南中的documented(我建议阅读)。 -
如果对您有帮助,请标记正确答案。
-
有人能解决这个问题吗?我仍然无法将这些放在一起,也不确定我在这里缺少什么。 git.io/v5SWx
标签: spring spring-boot spring-data