SpringBoot集成MongoDB

Pom依赖

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

Application配置

spring:    mongodb:uri: mongodb://name:password@localhost:27017/test

name为mongodb的用户名,password为mongodb的密码

项目集成

@Autowired
public MongoTemplate mongoTemplate;

使用示例

实体类

@Document(collection = "tes_namespace")
public class Namespace extends AbstractEntity{/*** */private static final long serialVersionUID = 4531499444309419351L;@Field("name")private String name;@Field("code")private String code;@Field("description")private String description;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}
}

@Document用于指定数据库的conllection

@field用于指定数据库字段

@id用于标识主键

@GeneratedValue 自动生成id

新增

    public int addNamespace(Namespace namespace) {mongoTemplate.save(namespace);return 1;}

查询,分页

    public List<Namespace> queryNamespace(String name,String code,Integer     offset,Integer limit) {Query query = new Query();if(StringUtils.isNotEmpty(name)){query.addCriteria(Criteria.where("name").is(name));}if (StringUtils.isNotEmpty(code)) {query.addCriteria(Criteria.where("code").is(code));}query.with(new Sort(new Sort.Order(Sort.Direction.DESC, "creatTime")));int skip = (offset - 1) * limit;query.skip(skip);// 从那条记录开始query.limit(limit);// 取多少条记录List<Namespace> list = mongoTemplate.find(query,Namespace.class);return list;}

4.2.3、修改

    public int updateNamespace(Namespace namespace) {Query query = new Query();query.addCriteria(Criteria.where("id").is(namespace.getId()));Update update = new Update();if(StringUtils.isNotEmpty(namespace.getName())) {update.set("name",namespace.getName());}if(StringUtils.isNotEmpty(namespace.getCode())){update.set("code",namespace.getCode());}if(StringUtils.isNotEmpty(namespace.getDescription())){update.set("description",namespace.getCode());}mongoTemplate.updateFirst(query, update, Namespace.class);return 1;}

删除

    public int delNamespace(String id) {Query query=new Query(Criteria.where("id").is(id));mongoTemplate.remove(query,Namespace.class);return 1;}

单个查询

    public Namespace queryNamespaceById(String id) {Query query = new Query();query.addCriteria(Criteria.where("id").is(id));Namespace namespace = mongoTemplate.findOne(query,Namespace.class);return namespace;}

转载来源:https://blog.csdn.net/zhangchangbin123/article/details/80491290  作者:rickJinZhu

SpringBoot集成MongoDB相关推荐

  1. Windows下安装Mongodb SpringBoot集成MongoDB和Redis多数据源

    全文内容: Mongodb安装 说明:Mongodb和redis是开发中常用的中间件,Redis的安装使用比较简单就不写了,只说本地也就是Windows安装Mongodb. SpringBoot集成M ...

  2. springboot集成mongoDB 异常认证

    springboot集成mongoDB 异常认证 参考文章: (1)springboot集成mongoDB 异常认证 (2)https://www.cnblogs.com/mh-study/p/980 ...

  3. springboot集成mongodb 连接池 多数据库源,源码demo

    上一篇介绍了 springboot集成mongodb 多数据库源切换 源码demo 开发环境: windows 7 idea windows64 mongodb 如果没安装运行 点这里 navicat ...

  4. springboot集成mongoDB高级聚合查询,关联查询

    目录 mongoDB的常用操作符 mongoDB的聚合管道符号 比较操作符 逻辑运算符? 注意注意注意? 数学运算符 mongoDB案例 ? ? ? ? 插入测试数据 ?mongodb的阶段操作符号 ...

  5. springboot集成mongoDB高级聚合查询,关联查询,lookup.let多条件关联查询。

    目录 mongoDB的常用操作符 mongoDB的聚合管道符号 比较操作符 逻辑运算符 注意坑 数学运算符 mongoDB案例 插入测试数据 mongodb的阶段操作符号 $match: $count ...

  6. SpringBoot 集成 MongoDB 磁盘分页查询导致的坑,allowDiskUse 基本配置

    记录:allowDiskUse声明方式 Aggregation aggregation = Aggregation.newAggregation(aggregationList).withOption ...

  7. SpringBoot与MongoDB的集成使用

    wshanshi:来自喵桑的叹息,周末马上过去了-还是睡不醒的状态- 一.MongoDB简介 1.1.什么是MongoDB? MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据 ...

  8. 6.3 Spring Boot集成mongodb开发

    6.3 Spring Boot集成mongodb开发 本章我们通过SpringBoot集成mongodb,Java,Kotlin开发一个极简社区文章博客系统. 0 mongodb简介 Mongo 的主 ...

  9. Spring系列之集成MongoDB的2种方法,你知道嘛?

    Spring系列之集成MongoDB的2种方法,你知道嘛? MongoDB是最流行的NoSQL数据库,SpringBoot是使用Spring的最佳实践.今天带大家讲一讲SpringBoot集成Mong ...

最新文章

  1. [官版翻译]OpenStack centos版安装(三)
  2. Alpha 冲刺报告(3/10)
  3. 创建游戏场(实战演习)
  4. C#.NET 比较好用的tcp通信模板(服务器端篇)
  5. 5年 Python 功力,总结了 10 个开发技巧
  6. python 生成列向量_python_mmdt:一种基于敏感哈希生成特征向量的python库(一)
  7. WSFC真实场景仲裁处理
  8. Linux下监控网卡流量的软件iftop
  9. Linux中修改PATH环境变量(只在当前窗口下生效)
  10. proguard 反编译_Android Studio项目结构,编译器,ProGuard
  11. 更改 Office 解决方案的安装路径
  12. host不能访问虚拟机内web service中踩到的坑--2017年5月3日
  13. 心电图分析软件_窦性P波形态突变或多变的心电图分析
  14. 读《DOOM启示录》随想
  15. Android arm64-v8a、armeabi-v7a、armeabi、x86详解
  16. 为什么网站打得开,却ping不通, 网站却打得开
  17. 计算机网络实验双绞线制作,实验一 双绞线制作实验报告
  18. 《MLB棒球创造营》:走近棒球运动·奥克兰运动家队
  19. PLC通讯实现-C#实现西门子PLC串口通讯W95_S7(四)
  20. 微信小程序新闻信息列表展示

热门文章

  1. Memcache安全性
  2. 视差滚动不适合网页的5个原因
  3. Linux流量监控工具 – iftop
  4. 【ICCV2019】点云相关论文解析
  5. 【课程】MIT深度学习课程:架起理论与实践的桥梁
  6. Julia学习(1)——入门
  7. github-仓库基本-下载-上传
  8. python-函数的返回值
  9. django-多对多关系
  10. linux-查看文件类型-看本质-file