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) ;
}

 

原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/274022.html

(0)
上一篇 2022年7月13日
下一篇 2022年7月13日

相关推荐

发表回复

登录后才能评论