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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章