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;
        }
    }
  • 相关阅读:
    POJ 3831 &amp; HDU 3264 Open-air shopping malls(几何)
    LeetCode Maximum Depth of Binary Tree
    解决下载Android Build-tools 19.1.0失败
    cocos2d-x3.6 连连看随机地图实现
    Swift初体验(三)
    Delphi XE7中新并行库
    mysql 权限控制具体解释
    C实例--推断一个字符串是否是回文数
    阿里 2014校招机试题 求存放整数的二叉树相差最大的两节点之差绝对值
    Choosing Between ElasticSearch, MongoDB &amp; Hadoop
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/9183229.html
Copyright © 2011-2022 走看看