MongoDB Demo

添加依赖


        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.29</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

添加配置

spring:
  data:
    mongodb:
      host: 127.0.0.1
      port: 27017
      database: DemoDB
      #username=
      #password=

 

Book.class

package com.xxx.Module;


import lombok.Data;

@Data
public class Book {
    private String id;
    private String title;
    private Double price;
}

BookService

package com.xxx.Service;

import com.mongodb.WriteResult;
import com.xxx.Module.Book;

import java.util.List;

public interface BookService {
    Book findOneBook(String id);

    List<Book> findBooks(String title,Integer price);

    void saveOneBook(Book book);

    WriteResult removeOneBook(String id);

    WriteResult updateOneBook(Book book);
}

package com.xxx.Service.impl;

import com.mongodb.WriteResult;
import com.mongodb.client.result.UpdateResult;
import com.xxx.Module.Book;
import com.xxx.Service.BookService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;

import java.util.List;


@Service("bookService")
public class BookServiceImpl implements BookService {
    private static final Logger LOGGER=LoggerFactory.getLogger(BookServiceImpl.class);

    @Autowired
    private MongoTemplate mongoTemplate;

    @Override
    public Book findOneBook(String id) {
        return mongoTemplate.findById(id,Book.class);
    }

    @Override
    public List<Book> findBooks(String title, Integer price) {
        Criteria criteria=Criteria.where("title").regex(title).and("price").is(price);
        Query query=Query.query(criteria);//.limit().skip();
        List<Book> books = mongoTemplate.find(query, Book.class);
        return books;
    }

    @Override
    public void saveOneBook(Book book) {
        mongoTemplate.save(book);
    }

    @Override
    public WriteResult removeOneBook(String id) {
        Criteria criteria=Criteria.where("_id").is(id);
        Query query=Query.query(criteria);
        WriteResult result = mongoTemplate.remove(query,Book.class);
        return result;
    }

    @Override
    public WriteResult updateOneBook(Book book) {
        Criteria criteria=Criteria.where("_id").is(book.getId());
        Query query=Query.query(criteria);
        Update update=Update.update("title",book.getTitle());
        update.set("price",book.getPrice());
        WriteResult result = mongoTemplate.updateFirst(query, update, Book.class);
        return result;
    }
}

BookController

package com.xxx.controller;

import com.xxx.Module.Book;
import com.xxx.Service.BookService;
import com.xxx.Util.JsonData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;


@RequestMapping("/book")
@RestController
public class BookController {

    @Autowired
    private BookService bookService;

    @GetMapping("/getOneBook")
    public JsonData getOneBook(String id){
        return JsonData.success(bookService.findOneBook(id));
    }

    @GetMapping("/getBooks")
    public JsonData getBooks(String title,Integer price){
        return JsonData.success(bookService.findBooks(title,price));
    }

    @PostMapping("/saveOneBook")
    public JsonData saveOneBook(@RequestBody Book book){
        bookService.saveOneBook(book);
        return JsonData.success();
    }

    @PostMapping("/removeOneBook")
    public JsonData removeOneBook(String id){
        return JsonData.success(bookService.removeOneBook(id));
    }

    @PostMapping("/updateOneBook")
    public JsonData updateOneBook(@RequestBody Book book){
        return JsonData.success(bookService.updateOneBook(book));
    }
}

 

非常感谢您的问题,以下是一个Spring Boot整合MongoDB的示例: 1. 添加Mongodb依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> ``` 2. 在application.properties文件中添加MongoDB的配置: ``` spring.data.mongodb.host=localhost spring.data.mongodb.port=27017 spring.data.mongodb.database=test ``` 3. 创建一个实体类作为MongoDB的文档对象: ``` @Document(collection = "users") public class User { @Id private String id; private String name; private String email; // getters and setters } ``` 4. 创建一个MongoDB的Repository接口: ``` @Repository public interface UserRepository extends MongoRepository<User, String> { User findByName(String name); List<User> findByEmailLike(String email); } ``` 5. 在Spring Boot应用程序的服务类中使用Repository: ``` @Service public class UserService { @Autowired private UserRepository userRepository; public User getUserByName(String name) { return userRepository.findByName(name); } public List<User> getUsersByEmail(String email) { return userRepository.findByEmailLike(email); } } ``` 6. 在Spring Boot应用程序的控制器中调用服务: ``` @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping("/{name}") public User getUserByName(@PathVariable String name) { return userService.getUserByName(name); } @GetMapping("/emails/{email}") public List<User> getUsersByEmail(@PathVariable String email) { return userService.getUsersByEmail(email); } } ``` 上述示例演示了如何使用Spring Boot和MongoDB进行集成,创建文档对象和存储文档数据,并编写了数据访问逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值