Spring Boot 整合 MongoDB

2018-08-15  本文已影响0人  wesker8080

准备工作

安装好MongoDB相关环境
启动MongoDB服务
如不熟悉可参考我的上篇文章 MongoDB入门教程

往MongoDB导入测试数据

db.student.save({name:"wesker",sex:"man",age:24,address:"shenzhen"});

导入依赖

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

配置数据源

Spring Boot 在你导入依赖的时候就会给你配置好默认的数据源了,如果你的MongoDB使用的是默认配置的话就可以不用配置,默认数据源是

spring.data.mongodb.uri=mongodb://localhost:27017/test

配置数据源(无密码)

spring.data.mongodb.uri=mongodb://host:port/database

配置数据源(有密码)

pring.data.mongodb.uri=mongodb://username:password@host:port/database

定义业务实体

/**
 * MongoDB 测试Bean
 *
 * @author MR.ZHANG
 * @create 2018-08-14 17:14
 */
@Document(collection="student") //指定collection
public class MongoBean {
    private String name;
    private Integer age;
    private String sex;
    private String address;
    public MongoBean() {
    }

    public MongoBean(String name, Integer age, String sex, String address) {
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.address = address;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "MongoBean{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                ", address='" + address + '\'' +
                '}';
    }
}

PS:这里需要注意几点

创建操作数据库接口Dao

/**
 * MongoDB操作数据库接口
 *
 * @author MR.ZHANG
 * @create 2018-08-14 17:22
 */
public interface MongoRep extends MongoRepository<MongoBean,String> {
    MongoBean findByAge(int age);
    MongoBean findByName(String name);
}

PS:

测试

测试使用Restful API

    @GetMapping("/mongo/get/name/{name}")
    @ResponseBody
    public MongoBean getDataFromMongoByName(HttpServletResponse response,
                                            @PathVariable(value = "name") String name) {
        MongoBean mongoBean = mongoRep.findByName(name);
        return mongoBean;
    }

结果

{ "address":"shenzhen", "age":24, "name":"wesker", "sex":"man" }
上一篇下一篇

猜你喜欢

热点阅读