springboot 集成mongodb

环境依赖

在pom文件引入spring-boot-starter-data-mongodb依赖:

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

数据源配置

如果mongodb端口是默认端口,并且没有设置密码,可不配置,sprinboot会开启默认的。

 
spring.data.mongodb.uri=mongodb://localhost:27017/springboot-db

mongodb设置了密码,这样配置:

spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/dbname

定义一个简单的实体

mongodb

package cn.tao.domain;

import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection="t_customer")
public class Customer {

public String _id; public String carNumber; public String get_id() { return _id; } public void set_id(String _id) { this._id = _id; } public String getCarNumber() { return carNumber; } public void setCarNumber(String carNumber) { this.carNumber = carNumber; } }

据操作dao层

@Repository
public interface CustomerRepository extends MongoRepository<Customer, String> {

    //public Customer findByFirstName(String firstName);
   //public List<Customer> findByLastName(String lastName);

}

写一个接口,继承MongoRepository,这个接口有了几本的CURD的功能。如果你想自定义一些查询,比如根据firstName来查询,获取根据lastName来查询,只需要定义一个方法即可。注意firstName严格按照存入的mongodb的字段对应。在典型的java的应用程序,写这样一个接口的方法,需要自己实现,但是在springboot中,你只需要按照格式写一个接口名和对应的参数就可以了,因为springboot已经帮你实现了。

controller调用方式

package cn.tao.controller;

import cn.tao.domain.KdVehicle;
import cn.tao.repository.KdVehicleRepository;
//import cn.tao.service.MongoService;
import cn.tao.service.SynService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;


@RestController
@RequestMapping("/mongo")
public class MongoController {

    @Autowired
    private KdVehicleRepository kdVehicleRepository;

    @Autowired
    private MongoTemplate mongoTemplate;


    /**
     * 处理excel与数据库之间的差异数据
     * */
    @RequestMapping("/list")
    public List<Customer> dobegin() throws Exception {
       List<Customer> list =  kdVehicleRepository.findAll();
     //List<KdVehicle> list2 =  mongoTemplate.findAll(Customer.class);//也可以
        return list;
    }
}
原文地址:https://www.cnblogs.com/xiaoliu66007/p/9183229.html