如何在 PlayFramework 2.5 (JAVA) 中配置 Morphia/MongoDB 数据源

How do I configure Morphia/MongoDB datasource in PlayFramework 2.5 (JAVA)

我正在尝试学习 Play Framework 2.5 (JAVA),底层数据库是 MongoDB。

我正在使用 Morphia 进行实体映射。

目前我的 java 代码中配置了 mongoDB 数据源,如下所示:-

private static final String DATABASE = "Database";

private static final MongoClientURI mongoClientURI = new MongoClientURI("mongodb://localhost:27017");
private static final MongoClient mongoClient = new MongoClient(mongoClientURI);

private static final Morphia morphia = new Morphia();
private static final Datastore datastore;

private static final DemeanorDAO demeanorDAO;

static {
    morphia.mapPackage("models.entity");

    datastore = morphia.createDatastore(mongoClient, DATABASE);
    datastore.ensureIndexes();
}

如何在 conf/application.conf

中配置 mongoDB 数据源

我是否使用 PlayMorphia 模块?

我找到了这些配置属性:-

# configure mongodb host and port. Default value: 127.0.0.1:27017
morphia.db.seeds=127.0.0.1:27017
#
# configure mongodb authentication
# - username. Default value: empty
morphia.db.username=user
# - password. Default value: empty
morphia.db.password=pass
#
# configure database name. Default value: test
morphia.db.name=test

我的 Java 代码如何使用这些属性?

我应该在哪个 conf/application.conf 部分放置这些属性?

你的问题有几个问题。

Do I use the PlayMorphia module?

不,如果您不需要它提供的特定功能,则不必这样做。

How does my Java code use these properties?

您需要在要使用配置值的组件中注入 Configuration (source) class。

以连接数据库为例:

new MongoClientURI("mongodb://" + configuration.getString("morphia.db.seeds"));

我让你检查Configuration class 看看有什么方法可用。

In which conf/application.conf section do I place these properties?

此文件中没有订单。一个好的做法是按域和字母顺序对您的属性进行排序。

免责声明:您应该检查声明与数据库的连接的方式。不要以静态方式启动它,在 application starts.

时声明连接