zoukankan      html  css  js  c++  java
  • Spring Boot整合MongoDB

    一、创建数据库,创建管理员

    use.admin  
    db.createUser({
      user: 'admin',  // 用户名
      pwd: '123456',  // 密码
      roles:[{
        role: 'root',  // 角色
        db: 'admin'  // 数据库
      }]
    })

    二、配置文件

    application.properties

    spring.data.mongodb.uri=mongodb://yh:12345yehuan@localhost:27017/book

    三、主要代码

    1.BookController.java

    package com.yh.mongopro.controller;
    
    import com.yh.mongopro.entity.Book;
    import com.yh.mongopro.service.BookService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.List;
    
    @RestController
    @RequestMapping("/book")
    public class BookController {
        @Autowired
        private BookService bookService;
    
        @RequestMapping(value = "/save")
        public String saveBook() {
            System.out.println("----");
            return bookService.saveBook();
        }
    
        @RequestMapping(value = "/query")
        public List<Book> findAll() {
            return bookService.findAll();
        }
    
        @RequestMapping(value = "/queryByName")
        public List<Book> find() {
            return bookService.find();
        }
    }

    2.BookService.java

    package com.yh.mongopro.service;
    
    import com.yh.mongopro.entity.Book;
    
    import java.util.List;
    
    public interface BookService {
    
        String saveBook();
    
        List<Book> findAll();
    
        List<Book> find();
    }

    3.BookServiceImpl.java

    方法一:MongoTemplate

    package com.yh.mongopro.service.serviceImpl;
    
    import com.yh.mongopro.entity.Book;import com.yh.mongopro.service.BookService;
    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.stereotype.Service;
    
    import java.util.List;
    import java.util.regex.Pattern;
    
    @Service("bookService")
    public class BookServiceImpl implements BookService {
        @Autowired
        private MongoTemplate mongoTemplate;
    
        @Override
        public String saveBook() {
            Book book = new Book();
            book.setName("安徒生童话");
            book.setIntroduction("好书");
            mongoTemplate.save(book);
            return "添加成功";
        }
    
        @Override
        public List<Book> findAll() {
            return mongoTemplate.findAll(Book.class);
        }
    
        @Override
        public List<Book> find() {
            //模糊匹配,查询以 ^开始 以$结束 .*相当于Mysql中的%
            Pattern pattern = Pattern.compile("^.*Boot.*$", Pattern.CASE_INSENSITIVE);
            Query query = Query.query(Criteria.where("name").regex(pattern));
            return mongoTemplate.find(query, Book.class);
        }
    }

    方法二:继承MongoRepository接口

    package com.yh.mongopro.service.serviceImpl;
    
    import com.yh.mongopro.entity.Book;
    import com.yh.mongopro.mapper.BookRepository;
    import com.yh.mongopro.service.BookService;
    import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;
    
    import java.util.List;
    import java.util.regex.Pattern;
    
    @Service("bookService")
    public class BookServiceImpl implements BookService {
    
        @Autowired
        private BookRepository bookRepository;
    
        @Override
        public String saveBook() {
            Book book = new Book();
            book.setName("安徒生童话");
            book.setIntroduction("好书");
            bookRepository.save(book);
            return "添加成功";
        }
    }

    BookRepository.java

    package com.yh.mongopro.mapper;
    
    import com.yh.mongopro.entity.Book;
    import org.springframework.data.mongodb.repository.MongoRepository;
    import org.springframework.stereotype.Repository;
    
    @Repository
    public interface BookRepository extends MongoRepository<Book, String> {
    }
  • 相关阅读:
    夯实Java基础(六)——包装类
    JavaWeb:Cookie
    JavaWeb:HttpServletResponse
    JavaWeb:ServletResponse
    JavaWeb:HttpServletRequest
    JavaWeb:ServletRequest(二)
    JavaWeb:ServletRequest(一)
    JavaWeb:HttpServlet
    JavaWeb:GenericServlet
    Spring:Spring Cloud 2020 年维护路线图
  • 原文地址:https://www.cnblogs.com/YeHuan/p/12444071.html
Copyright © 2011-2022 走看看