Java 如何使用Ebean in-Play框架将初始数据加载/插入数据库?

Java 如何使用Ebean in-Play框架将初始数据加载/插入数据库?,java,playframework,ebean,Java,Playframework,Ebean,我需要一些初始数据从csv文件到数据库。我在玩Eben!框架我读了那本书。它说使用YAML文件存储数据并调用Ebean.save。这是在测试中完成的 我的问题是: 我应该在哪里插入数据?测试可能不是理想的地方,因为这些数据应该用于生产 我是否可以编写自己的代码,从现有的csv文件中获取数据,而不是使用YAML文件 任何建议或文件链接将不胜感激 谢谢 通过进一步搜索,我发现解决方案如下所述 执行初始插入的代码需要挂接到游戏的启动中 挂接Play的启动非常简单,只需创建一个名为Global的类,该类

我需要一些初始数据从csv文件到数据库。我在玩Eben!框架我读了那本书。它说使用YAML文件存储数据并调用Ebean.save。这是在测试中完成的

我的问题是:

我应该在哪里插入数据?测试可能不是理想的地方,因为这些数据应该用于生产

我是否可以编写自己的代码,从现有的csv文件中获取数据,而不是使用YAML文件

任何建议或文件链接将不胜感激


谢谢

通过进一步搜索,我发现解决方案如下所述

执行初始插入的代码需要挂接到游戏的启动中

挂接Play的启动非常简单,只需创建一个名为Global的类,该类在根包中实现GlobalSettings,并重写onStart方法。现在,让我们通过创建app/Global.java文件来实现这一点。挂接播放的启动非常简单,只需创建一个名为Global的类,该类在根包中实现GlobalSettings,并重写onStart方法。现在让我们通过创建app/Global.java文件来实现这一点

注意,它说类需要在根包中

代码示例:

import play.*;
import play.libs.*;
import com.avaje.ebean.Ebean;
import models.*;
import java.util.*;

public class Global extends GlobalSettings {
    @Override
    public void onStart(Application app) {
        // Check if the database is empty
        if (User.find.findRowCount() == 0) {
            Ebean.save((List) Yaml.load("initial-data.yml")); // You can use whatever data source you have here. No need to be in YAML.
        }
    }
}

通过进一步搜索,我发现解决方案如下所述

执行初始插入的代码需要挂接到游戏的启动中

挂接Play的启动非常简单,只需创建一个名为Global的类,该类在根包中实现GlobalSettings,并重写onStart方法。现在,让我们通过创建app/Global.java文件来实现这一点。挂接播放的启动非常简单,只需创建一个名为Global的类,该类在根包中实现GlobalSettings,并重写onStart方法。现在让我们通过创建app/Global.java文件来实现这一点

注意,它说类需要在根包中

代码示例:

import play.*;
import play.libs.*;
import com.avaje.ebean.Ebean;
import models.*;
import java.util.*;

public class Global extends GlobalSettings {
    @Override
    public void onStart(Application app) {
        // Check if the database is empty
        if (User.find.findRowCount() == 0) {
            Ebean.save((List) Yaml.load("initial-data.yml")); // You can use whatever data source you have here. No need to be in YAML.
        }
    }
}

Play Framework 2.4解决方案,用于在应用程序启动时使用Ebean加载初始数据:

首先,创建一个要在其中执行初始数据加载的类。根据这份文件

确保将MainModule类添加到application.conf

# modules
play.modules.enabled += "module.MainModule"

Play Framework 2.4解决方案,用于在应用程序启动时使用Ebean加载初始数据:

首先,创建一个要在其中执行初始数据加载的类。根据这份文件

确保将MainModule类添加到application.conf

# modules
play.modules.enabled += "module.MainModule"

这是不赞成的