1. 程式人生 > >spring boot mongodb 整合以及簡單查詢(非實體結果返回)

spring boot mongodb 整合以及簡單查詢(非實體結果返回)

一、安裝(nosql 視覺化工具客戶端下載路徑:https://nosqlbooster.com/downloads

二、專案新增依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

三、yml配置

data:
  mongodb:
    port: 27017  //埠
    host: 192.168.xx.xx  //mongodb服務所在主機ip地址
    database: test //資料庫名稱

注意:這裡還有種不同的配置,就是 mongodb 節點下面的uri 配置如:uri:mongodb://192.168.xx.xx:27017/test

這種配置暫時還是有問題的,啟動會報錯,所以一般不加uri配置項;

四、java 程式碼

import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;


@Repository
public class TestDao {

    @Autowired
    private MongoTemplate mongoTemplate;

    public void getRecordHistory(String userid) {

        DBCollection dbCollection = mongoTemplate.getCollection("user");//資料庫表名稱
        BasicDBObject basicQuery = new BasicDBObject();
        basicQuery.put("user_id",userid);//資料庫中的欄位,以及欄位值
        DBObject one = dbCollection.findOne(basicQuery);
        System.out.println(one);
    }
}

以上只寫了查詢,至於其他的增刪改,都在dbcollection這個物件裡面可以去嘗試一下;

看了很多部落格,上面都是在查詢的時候帶有實體類的(建立了實體類和資料庫對應),這裡我並沒有去建立實體類,查詢出來的是原生json格式資料。

這裡強調一點,nosql及mongodb,與關係型資料庫之所以不同是在於它欄位的可變性也就是靈活性,如果這裡新增實體類那麼和用關係型資料庫有什麼區別呢?當然這個只是我的個人看法而已;

 

 

手把手教你 MongoDB 的安裝與詳細使用(一)

http://www.ymq.io/2018/01/26/MongoDB-1/

手把手教你 MongoDB 的安裝與詳細使用(二)

http://www.ymq.io/2018/01/29/MongoDB-2/