我是靠谱客的博主 孤独鼠标,最近开发中收集的这篇文章主要介绍mongodb入门学习(三) 之 springboot整合mongodb,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

spring-data-mongodb提供了MongoTemplateMongoRepository两种方式访问mongodb,MongoRepository操作简单,MongoTemplate操作灵活,我们在项目中可以灵活适用这两种方式操作mongodb,MongoRepository的缺点是不够灵活,MongoTemplate正好可以弥补不足。

新建一个springboot项目,引入以下依赖:

<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>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>

    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.10.1</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

在application.properties文件添加配置:

spring.data.mongodb.uri=mongodb://ip:27017/test           //27017是我的端口

我们在使用mysql的时候有表对应的实体,那么mongo也一样,需要建立自己使用的实体类,我新建一个User类作为实体类:

然后通过mongoTemplate来完成crud

注意:我已经在阿里云上开放了我的27017端口(第一篇文章有讲到我实在阿里云docker安装的mongodb) 

 直接在测试类里面进行写代码了:

1、插入数据:(插入成功会返回插入的数据)

 这个时候我在云服务器上面查询一下发现也是有值的:

 2、查询所有数据:(目前我的只有刚刚插入的那一条数据)

 3、根据id来查询

4、条件查询 

注意导包:

import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;

 4、模糊查询(upsert方法)

 可以看到数据已经修改成功:

 5、删除操作:

========================================================

MongoRepository方式操作CRUD:

首先创建一个interface实现MongoRepository接口

 然后将新建的 UserRepository 注入到测试类中

添加方法:

 查询所有:

 根据id查询:

 条件查询:

 模糊查询:

 分页查询:

 修改:

删除:

 

 演示的demo已上传csdn,需要的自行下载:mongodbdemo案例代码-Java文档类资源-CSDN下载

注意:上面不管是通过mongoTemplate还是mongoRepository来进行crud其实都是用的内部封装好的方法,除了他们提供好的方法我们也可以进行自定义方法,比如我用mongoRepository来查询name="xxx"也可以这样定义方法:

hospitalRepository.getInfoByName("xxxxx");

然后在xxxxRepository接口中定义一下方法,MongoRepository会自动帮我们实现接口。

注意:上面方法命名是有规则的:

1、不是随便声明的,而需要符合一定的规范
2、 查询方法以find | read | get开头
3、 涉及条件查询时,条件的属性用条件关键字连接
4、 要注意的是:条件属性首字母需要大写
5、 支持属性的级联查询,但若当前类有符合条件的属性则优先使用,而不使用级联属性,若需要使用级联属性,则属性之间使用_强制进行连接

 

最后

以上就是孤独鼠标为你收集整理的mongodb入门学习(三) 之 springboot整合mongodb的全部内容,希望文章能够帮你解决mongodb入门学习(三) 之 springboot整合mongodb所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部