zoukankan      html  css  js  c++  java
  • 使用MongoDB数据库(2)(三十六)

    快速开始使用Spring-data-mongodb

    若MongoDB的安装配置采用默认端口,那么在自动配置的情况下,我们不需要做任何参数配置,就能马上连接上本地的MongoDB。下面直接使用spring-data-mongodb来尝试对mongodb的存取操作。(记得mongod启动您的mongodb)

    • 创建要存储的User实体,包含属性:id、username、age
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      public class User {
       
          @Id
          private Long id;
       
          private String username;
          private Integer age;
       
          public User(Long id, String username, Integer age) {
              this.id = id;
              this.username = username;
              this.age = age;
          }
       
          // 省略getter和setter
       
      }
    • 实现User的数据访问对象:UserRepository
      1
      2
      3
      4
      5
      public interface UserRepository extends MongoRepository<User, Long> {
       
          User findByUsername(String username);
       
      }
    • 在单元测试中调用
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      @RunWith(SpringJUnit4ClassRunner.class)
      @SpringApplicationConfiguration(Application.class)
      public class ApplicationTests {
       
          @Autowired
          private UserRepository userRepository;
       
          @Before
          public void setUp() {
              userRepository.deleteAll();
          }
       
          @Test
          public void test() throws Exception {
       
              // 创建三个User,并验证User总数
              userRepository.save(new User(1L, "didi"30));
              userRepository.save(new User(2L, "mama"40));
              userRepository.save(new User(3L, "kaka"50));
              Assert.assertEquals(3, userRepository.findAll().size());
       
              // 删除一个User,再验证User总数
              User u = userRepository.findOne(1L);
              userRepository.delete(u);
              Assert.assertEquals(2, userRepository.findAll().size());
       
              // 删除一个User,再验证User总数
              u = userRepository.findByUsername("mama");
              userRepository.delete(u);
              Assert.assertEquals(1, userRepository.findAll().size());
       
          }
       
      }

      参数配置

      通过上面的例子,我们可以轻而易举的对MongoDB进行访问,但是实战中,应用服务器与MongoDB通常不会部署于同一台设备之上,这样就无法使用自动化的本地配置来进行使用。这个时候,我们也可以方便的配置来完成支持,只需要在application.properties中加入mongodb服务端的相关配置,具体示例如下:

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

        

      在尝试此配置时,记得在mongo中对test库创建具备读写权限的用户(用户名为name,密码为pass),不同版本的用户创建语句不同,注意查看文档做好准备工作

      若使用mongodb 2.x,也可以通过如下参数配置,该方式不支持mongodb 3.x。

      1
      spring.data.mongodb.host=localhost spring.data.mongodb.port=27017

        

  • 相关阅读:
    tomcat快速部署脚本
    Centos7下搭建单节点Zookeeper
    request的基本使用用法
    Centos7 下配置jdk
    oracle备份脚本(以日期命名文件夹)
    Centos7 关闭防火墙
    Centos7 配置静态ip地址
    杀死占用8080端口的进程
    git clone的时候遇到“Please make sure you have the correct access rights and the repository exists”
    【笔记】关于多分类问题中的混淆矩阵,精准率
  • 原文地址:https://www.cnblogs.com/MaxElephant/p/10239895.html
Copyright © 2011-2022 走看看