繁体   English   中英

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

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

我正在尝试使用基础数据库为MongoDB的Play Framework 2.5(JAVA)。

我正在使用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部分中?

您有几个问题。

我可以使用PlayMorphia模块吗?

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

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

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

对于与数据库的连接,例如:

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

我让您检查Configuration类以查看可用的方法。

我应将这些属性放在conf / application.conf部分中?

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

免责声明:您应该查看声明与数据库的连接的方式。 不要以静态方式启动它,而是在应用程序启动时声明连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM