zoukankan      html  css  js  c++  java
  • 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;
        }
    }
  • 相关阅读:
    GZIP压缩
    对象的constructor属性
    session会话复制
    第一篇博客 iframe自适应高度
    【NOI2012T4】迷失游乐园-环套树+树形DP+期望DP
    【NOI2012T4】迷失游乐园-环套树+树形DP+期望DP
    【HDU5072】Coprime-补集转化+容斥原理+质因数分解
    【HDU5072】Coprime-补集转化+容斥原理+质因数分解
    【NOI2011T1】兔农-矩阵快速幂+乘法逆元
    【NOI2011T1】兔农-矩阵快速幂+乘法逆元
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/9183229.html
Copyright © 2011-2022 走看看