zoukankan      html  css  js  c++  java
  • 在 Spring Boot 中使用 MongoDB

    准备工作

    关于 MongoDB 的安装, 参考文章:在 centos7 中使用 docker 安装 MongoDB 并远程连接

    添加依赖:

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-mongodb</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    

    applica.properties 配置文件如下:

    spring.data.mongodb.host=xxx.xxx.xxx.xxx
    spring.data.mongodb.port=27017
    # mongodb 的用户名密码不统一,不同的数据库有不同的认证方式
    # 这里的用户名和密码,针对的是 admin 数据库
    spring.data.mongodb.authentication-database=admin
    spring.data.mongodb.username=root
    spring.data.mongodb.password=123456
    # 操作的数据库的名字,任取
    spring.data.mongodb.database=test
    

    示例

    新建 bean包,再建一个 Book类:

    @Data
    public class Book {
        private Integer id;
        private String name;
        private String author;
    }
    

    新建一个 dao包,再建一个 BookDao接口:

    public interface BookDao extends MongoRepository<Book, Integer> {
    }
    

    如上,接口 BookDao继承 MongoRepository,操作方式和 在 Spring Boot 中使用 Spring Data JPA 十分类似。

    运行项目,即可在数据库中自动建成对应的数据库和集合:

    测试

    在测试类中,进行增删改查的测试。

    增加数据

    @SpringBootTest
    class MongodbApplicationTests {
    
        @Autowired
        BookDao bookDao;
    
        @Test
        void contextLoads() {
            Book book = new Book();
            book.setId(2);
            book.setName("红楼梦");
            book.setAuthor("曹雪芹");
            bookDao.insert(book);
        }
    }
    

    查询数据

        @Test
        public void test1(){
            List<Book> list = bookDao.findAll();
            System.out.println(list);
        }
    

    自定义查询

    在 BookDao 中,自定义一个方法,按书名查询数据:

    public interface BookDao extends MongoRepository<Book, Integer> {
        /**
         * 定义一个按书名查询的方法
         * @param name
         * @return
         */
        List<Book> findBookByNameContaining(String name);
    }
    

    在测试方法中,调用这个方法:

        @Test
        public void test1(){
    
            List<Book> books = bookDao.findBookByNameContaining("红");
            System.out.println(books);
        }
    

    每天学习一点点,每天进步一点点。

  • 相关阅读:
    How to alter department in PMS system
    Can't create new folder in windows7
    calculate fraction by oracle
    Long Wei information technology development Limited by Share Ltd interview summary.
    ORACLE BACKUP AND RECOVERY
    DESCRIBE:When you mouse click right-side is open an application and click left-side is attribution.
    ORACLE_TO_CHAR Function
    电脑BOIS设置
    JSP点击表头排序
    jsp+js实现可排序表格
  • 原文地址:https://www.cnblogs.com/youcoding/p/13895149.html
Copyright © 2011-2022 走看看