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;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM