0
点赞
收藏
分享

微信扫一扫

play连接mongodb并进行查询测试

环境准备

1、 IP白名单分组添加

play连接mongodb并进行查询测试_java

2、  相关配置信息 application.conf增加

morphia.db.name=库名
morphia.db.url=连接信息

dependencies.yml增加

require:
    - playmongo  -> playmongo  latest.integration
    - org.mongodb -> mongo-java-driver 3.12.13
    - org.mongodb.morphia -> morphia latest.release
repositories:
     - playmongo:
          type:       local
          artifact:   ${application.path}/lib/play-morphia.jar
          contains:
              - playmongo  -> playmongo

3、  增加配置文件MongoDB.properties

mongodb_uri=连接信息
mongodb_uri1=连接信息1
mongo.db.databaseName=库名
mongo.db.connectionsPerHost=端口

新增play.plugins

400:play.modules.morphia.MorphiaPlugin

4、 

查看依赖是否正常

play连接mongodb并进行查询测试_mongodb_02

注意,我在测试链接时有冲突,删除了bson-4.10.0-alpha0.jar,以下为我的报错信息

java.lang.IllegalAccessError: tried to access class org.bson.BSON from class com.mongodb.DBObjectCodec
        at com.mongodb.DBObjectCodec.writeValue(DBObjectCodec.java:226)
        at com.mongodb.DBObjectCodec.encode(DBObjectCodec.java:159)
        at com.mongodb.DBObjectCodec.encode(DBObjectCodec.java:67)
        at org.bson.BsonDocumentWrapper.getUnwrapped(BsonDocumentWrapper.java:199)
        at org.bson.BsonDocumentWrapper.keySet(BsonDocumentWrapper.java:159)
        at com.mongodb.internal.operation.IndexHelper.generateIndexName(IndexHelper.java:61)
        at com.mongodb.operation.CreateIndexesOperation.getIndex(CreateIndexesOperation.java:222)
        at com.mongodb.operation.CreateIndexesOperation.getCommand(CreateIndexesOperation.java:288)
        at com.mongodb.operation.CreateIndexesOperation.access$200(CreateIndexesOperation.java:73)
        at com.mongodb.operation.CreateIndexesOperation$1.call(CreateIndexesOperation.java:177)
        at com.mongodb.operation.CreateIndexesOperation$1.call(CreateIndexesOperation.java:172)
        at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:530)
        at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:492)
        at com.mongodb.operation.CreateIndexesOperation.execute(CreateIndexesOperation.java:172)
        at com.mongodb.operation.CreateIndexesOperation.execute(CreateIndexesOperation.java:72)
        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:216)
        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:185)
        at com.mongodb.DBCollection.createIndex(DBCollection.java:1698)
        at com.mongodb.DBCollection.createIndex(DBCollection.java:1683)
        at com.mongodb.gridfs.GridFS.<init>(GridFS.java:109)
        at play.modules.morphia.MorphiaPlugin.initMorphia_(MorphiaPlugin.java:483)
        at play.modules.morphia.MorphiaPlugin.onApplicationStart(MorphiaPlugin.java:608)
        at play.plugins.PluginCollection.onApplicationStart(PluginCollection.java:603)
        at play.Play.start(Play.java:557)
        at play.Play.init(Play.java:325)
        at play.server.Server.main(Server.java:162)

5、  编写代码测试查询已配置路由

public static void qichachaTest(String id) {
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").serializeNulls().create();
        Logger.info("id:"+id);
        Logger.info("ds.toString()"+ds().toString());

        Query<ComDetails> query = ds("bid_data").createQuery(ComDetails.class);
        query.filter("comId =", id);
        List<ComDetails> list = query.asList();
        if(list.size() > 0) {
            renderJSON(gson.toJson(list.get(0)));
        }else {
            ComDetails cd = null;
            renderJSON(gson.toJson(cd));
        }
    }

6、 

结果

play连接mongodb并进行查询测试_java_03

举报

相关推荐

0 条评论