栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mongodb入门学习(三) 之 springboot整合mongodb

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mongodb入门学习(三) 之 springboot整合mongodb

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

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


        org.springframework.boot
        spring-boot-starter-data-mongodb
    
    
        org.springframework.boot
        spring-boot-starter-web
    

    
        org.projectlombok
        lombok
    

    
        joda-time
        joda-time
        2.10.1
    

    
        org.springframework.boot
        spring-boot-starter-test
        test
        
            
                org.junit.vintage
                junit-vintage-engine
            
        
    

在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、 支持属性的级联查询,但若当前类有符合条件的属性则优先使用,而不使用级联属性,若需要使用级联属性,则属性之间使用_强制进行连接

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755601.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号