zoukankan      html  css  js  c++  java
  • springboot整合的MongoDB(一){博主新人入坑,不对的地方还望大哥指出}

    一.在maven管理的工程pom.xml文件中引入如下依赖

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

    二.yml 配置

    spring:
      data:
        mongodb:
          host: 127.0.0.1  //地址
          port: 27017      //端口
          database: school //数据库名称

    三.定义对应集合的实体类

    import javax.persistence.Id;
    public class User {
        @Id  //对应集合中的id
        private Integer id;
        private String username;
        private Integer age;

    (需要实现get.set方法和空参构造)

    四.Repository层

    和dao层类似,需要继承 MongoRepository<User, Integer>    第一个参数是要操作的实体类 第二个参数是id的类型

    import org.springframework.data.mongodb.repository.MongoRepository;
    public interface UserRepository extends MongoRepository<User, Integer> {}

    五.插入操作(增加)

    insert(S s) 一次插入一个对象(文档)
    insert(Iterable<s> iterable)一次插入一个集合  :list<Object>
    *save效率不如insert
     save(S s) (id相同会替换数据) 一次插入一个对象(文档) 

    saveAll(Iterable<S> entities(id相同会替换数据)一次插入一个集合

    *因为save 会替换id相同的记录信息  insert遇到插入信息和文档id相同的会报错

    save和saveAll执行的速度会比insert慢一些

    ps:我使用我自己电脑测试的时间

    其中saveAll插入10w条数据的时间是16-18s

          insert插入10w条数据的时间平局在1.15s左右

  • 相关阅读:
    如何动态加载控件以及插件编程思想(C#)
    Web Services的魅力
    Remoting和Webservice的区别
    用Asp.Net c#写的采集小例子
    .net remoting范例
    C# 实现屏幕键盘 (ScreenKeyboard)
    初识用.NET Remoting来开发分布式应用(转)
    把页面以流的形式输出 在另外一个页面显示
    webservice的应用
    【表单】鼠标经过时获得焦点,获得焦点时选中文本
  • 原文地址:https://www.cnblogs.com/yxxhndm/p/13187999.html
Copyright © 2011-2022 走看看