6.2 整合MongoDB (NoSQL 数据库)

2022/7/14 2:21:22

本文主要是介绍6.2 整合MongoDB (NoSQL 数据库),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 在Spring Boot Web 工程, 添加MongoDB 依赖

<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-data-mongodb</artifactid>
</dependency>

2. 配置MongoDB, 在application.properties 中配置MongoDB 的连接信息

spring.data.mongodb.authentication-database=admin // 表示验证登录信息的库。
spring.data.mongodb.database=test // 表示要连接的库,认证信息不一定要在连接的库中创建,因此这两个分开配直。
spring.data.mongodb.host=l92.168.248.144 // 连接地址
spring.data.mongodb.port=27017 // 接口
spring.data.mongodb.username=sang // 用户名
spring.data.mongodb.password=123 // 密码

3. 创建实体类Book

public class Book{
  private Integer id;
  private String name;
  private String author;
  // 省略getter/setter
}

4. 创建BookDao

public interface BookDao extends MongoRepository<Book, Integer> {
  List<Book> findByAuthorContains(String author) ;
  Book findByNameEquals(String name );
}

5. 创建Controller

@RestController
public class BookController (
  @Autowired
  BookDao bookDao;

  @GetMapping ("/testl")
  public void testl() (
    List<Book> books = new ArrayList<>() ;
    Book b1 = new Book();
    b1.setId(1);
    b1.setName( ”朝花夕拾”);
    b1.setAuthor( ”鲁迅” );
    books.add(bl);
    Book b2 = new Book( );
    b2.setId(2);
    b2.setName("呐喊");
    b2.setAuthor("鲁迅");
    books.add(b2);
    bookDao.insert(books);
    List<Book> booksl = bookDao.findByAuthorContains( ”鲁迅” );
    System.out.println(booksl);
    Book book = bookDao.findByNameEquals( ”朝花夕拾” );
    System.out.println (book) ;
  }
}

Mongo 用insert来存储,而不是save

 

7. 使用MongoTemplate,用户可以直接使用MongoTemplate , 在Controller 中直接注入MongoTemplate 就可以使用了

@Autowired
MongoTemplate mongoTemplate ;
@GetMapping("/test2")
public void test2() {
    List<Book> books =new ArrayList<>();
    Book b1 = new Book();
    b1.setid(3);
    b1.setName("围城");
    b1.setAuthor("钱钟书");
    books.add(bl);
    Book b2 = new Book();
    b2.setid(4);
  b2.setName("宋诗选注");
  b2.setAuthor("钱钟书";
  books.add(b2);
  mongoTemplate.insertAll(books);
  List<Book> list = mongoTemplate.findAll(Book.class);
  System.out.println(list);
  Book book = mongoTemplate.findByid(3, Book.class);
  System.out.println(book) ;
}

 



这篇关于6.2 整合MongoDB (NoSQL 数据库)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程