SpringData+MongoDB入門

記錄一下SpringData+MongoDB是怎麼操作的。

(1)啓動mongoDB

我使用的指令是:(按照官網的)

mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

端口是27017.

輸入mongo回車便可進入mongoDB Shell操作界面。

(2)基本指令:

查看所有數據庫:

show dbs

使用某個數據庫:

use 數據庫名稱

查看所有集合:

show tables

查看某個集合的全部數據:

db.集合名.find().pretty()

(3)在Spring Data裏使用:

1)實體類:

要有@Document註解

package com.example.demo.model;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.io.Serializable;
import java.util.Arrays;

@Document("LocationDto")
public class LocationDto implements Serializable {

    @Id
    private String id;

//    @Field("car_number")
//    private String carNumber;

    @Field("latitude")
    //緯度
    private Double latitude;

    @Field("longitude")
    //經度
    private Double longitude;

//    @Field("locate_date")
//    private Date locateDate;

    @Field("location")
    private Double[] location;

    @Override
    public String toString() {
        return "TraceDto{" +
                "id='" + id + '\'' +
                ", latitude=" + latitude +
                ", longitude=" + longitude +
                ", gps=" + Arrays.toString(location) +
                '}';
    }

    public LocationDto(String id, Double latitude, Double longitude, Double[] gps) {
        this.id = id;
        this.latitude = latitude;
        this.longitude = longitude;
        this.location = gps;
    }

    public LocationDto(Double longitude, Double latitude, Double[] gps) {
        this.latitude = latitude;
        this.longitude = longitude;
        this.location = gps;
    }

    public LocationDto() {
    }

    public LocationDto(String id) {
        this.id = id;
    }

    public Double[] getGps() {
        return location;
    }

    public void setGps(Double[] gps) {
        this.location = gps;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Double getLatitude() {
        return latitude;
    }

    public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }

    public Double getLongitude() {
        return longitude;
    }

    public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }
}

2)操作數據庫類:

繼承自MongoRepository

package com.example.demo.mapper;

//import com.example.tracedomain.domain.TraceDto;
import com.example.demo.model.LocationDto;
import org.springframework.data.mongodb.repository.MongoRepository;

public interface LocationDtoRepository extends MongoRepository<LocationDto,String> {
}

3)配置文件:

uri的寫法:操作該數據庫的用戶:密碼@ip:端口/數據庫名稱

data:
    mongodb:
           uri: mongodb://kimiLocationDto:123456@localhost:27017/LocationDto
      	  auto-index-creation: true

參考該博客:
MongoDB的用戶創建更新及刪除 : https://www.jianshu.com/p/f5afc6488f9e

爲某個數據庫創建用戶:
進入該數據庫,執行:

db.createUser({user:'用戶名稱',pwd:'用戶密碼',roles:[{role:'readWrite',db:'數據庫名稱'}]})

進入admin數據庫查看新創建的用戶:

 use admin
 db.system.users.find().pretty()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章