SpringBoot集成MongoDB
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相关推荐
- Windows下安装Mongodb SpringBoot集成MongoDB和Redis多数据源
全文内容: Mongodb安装 说明:Mongodb和redis是开发中常用的中间件,Redis的安装使用比较简单就不写了,只说本地也就是Windows安装Mongodb. SpringBoot集成M ...
- springboot集成mongoDB 异常认证
springboot集成mongoDB 异常认证 参考文章: (1)springboot集成mongoDB 异常认证 (2)https://www.cnblogs.com/mh-study/p/980 ...
- springboot集成mongodb 连接池 多数据库源,源码demo
上一篇介绍了 springboot集成mongodb 多数据库源切换 源码demo 开发环境: windows 7 idea windows64 mongodb 如果没安装运行 点这里 navicat ...
- springboot集成mongoDB高级聚合查询,关联查询
目录 mongoDB的常用操作符 mongoDB的聚合管道符号 比较操作符 逻辑运算符? 注意注意注意? 数学运算符 mongoDB案例 ? ? ? ? 插入测试数据 ?mongodb的阶段操作符号 ...
- springboot集成mongoDB高级聚合查询,关联查询,lookup.let多条件关联查询。
目录 mongoDB的常用操作符 mongoDB的聚合管道符号 比较操作符 逻辑运算符 注意坑 数学运算符 mongoDB案例 插入测试数据 mongodb的阶段操作符号 $match: $count ...
- SpringBoot 集成 MongoDB 磁盘分页查询导致的坑,allowDiskUse 基本配置
记录:allowDiskUse声明方式 Aggregation aggregation = Aggregation.newAggregation(aggregationList).withOption ...
- SpringBoot与MongoDB的集成使用
wshanshi:来自喵桑的叹息,周末马上过去了-还是睡不醒的状态- 一.MongoDB简介 1.1.什么是MongoDB? MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据 ...
- 6.3 Spring Boot集成mongodb开发
6.3 Spring Boot集成mongodb开发 本章我们通过SpringBoot集成mongodb,Java,Kotlin开发一个极简社区文章博客系统. 0 mongodb简介 Mongo 的主 ...
- Spring系列之集成MongoDB的2种方法,你知道嘛?
Spring系列之集成MongoDB的2种方法,你知道嘛? MongoDB是最流行的NoSQL数据库,SpringBoot是使用Spring的最佳实践.今天带大家讲一讲SpringBoot集成Mong ...
最新文章
- [官版翻译]OpenStack centos版安装(三)
- Alpha 冲刺报告(3/10)
- 创建游戏场(实战演习)
- C#.NET 比较好用的tcp通信模板(服务器端篇)
- 5年 Python 功力,总结了 10 个开发技巧
- python 生成列向量_python_mmdt:一种基于敏感哈希生成特征向量的python库(一)
- WSFC真实场景仲裁处理
- Linux下监控网卡流量的软件iftop
- Linux中修改PATH环境变量(只在当前窗口下生效)
- proguard 反编译_Android Studio项目结构,编译器,ProGuard
- 更改 Office 解决方案的安装路径
- host不能访问虚拟机内web service中踩到的坑--2017年5月3日
- 心电图分析软件_窦性P波形态突变或多变的心电图分析
- 读《DOOM启示录》随想
- Android arm64-v8a、armeabi-v7a、armeabi、x86详解
- 为什么网站打得开,却ping不通, 网站却打得开
- 计算机网络实验双绞线制作,实验一 双绞线制作实验报告
- 《MLB棒球创造营》:走近棒球运动·奥克兰运动家队
- PLC通讯实现-C#实现西门子PLC串口通讯W95_S7(四)
- 微信小程序新闻信息列表展示