前言
刚刚看到基于 spring-data-mongodb 的增强工具包mongoHelper 发布了更新,这个工具包简化 CRUD 操作,并且提供了类 jpa 的数据库操作。
都知道在传统关系型数据库及围绕它们构建的 orm 在项目开发中有很多难用的痛点,然而随着 mongodb 这种文档性数据库的出现,完美的解决了 sql 数据库在项目开发中的诸多痛点,在 mongodb4.0 以后支持了事务,已经可以完美的用于工程项目。spring-data-mongodb 已经对 mongodb 的操作做了一部分封装,但依然不够用,Query 与 Criteria 的操作依然有比较大的局限性,而且对于习惯 sql 操作和 sql orm 的人来说,其使用法则依然稍显别扭。mongoHelper 对 spring-data-mongodb 又进行了进一步封装,补充了 mysql 有但 mongodb 没有的特性,比如字段默认值,使其更易于使用,更接近与关系型数据库 orm 库,并添加了很多易于项目管理的功能。
0.2.5更新内容
本次更新内容
完善查询语句的打印,增删改查都可进行打印
完善数据库导入导出功能,减少内存占用
其他一些代码写法上的优化,增加了一些数据库操作方法
复制
Spring Boot集成mongoHelper
第一步:增加pom引用
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>复制
第二步:注入MongoTemplate
在对应的Dao层注入 MongoTemplate。
第三步:获取集合
mongoTemplate.getCollection(mongoTemplate.getCollectionName(entityClass)).distinct(key, query.getQueryObject())
复制
第四步、增加操作(插入)
可以一次性插入一个 对象集合 ,也可以一次只插入一个对象 ;当需要插入的大数据量的时候,首先推荐使用批量插入,提升插入性能。
代码示例:
List<UserInfo> userList = new ArrayList<UserInfo>();
userList.add(new UserInfo(1,"1","孙悟空","金箍棒"));
userList.add(new UserInfo(2,"2","猪八戒","耙子"));
userList.add(new UserInfo(3,"0","唐僧","杖"));
mongoTemplate.insert(userList, "userList");复制
备注:
同一个mongo集合中,前后插入的数据 对象类型要一致
实体类需要用注解标识:
@Document(collection = “xxx”):用于实体类上,表明这是一个MongoDB的文档集合,相当于MySQL的数据表;其中collection表示集合名称,不写则默认为实体类名称
@Id:用于实体类中的成员变量,表示主键标识
@Field(“xxx”):用于实体类中的成员变量,表示MongoDB文档集合中的字段,其值对应集合的字段名称。复制
总结
虽然一些复杂的查询和更新还需要禽兽编写构造Query和Update,但是大部分情况足够满足的。
文章转载自IT实战联盟,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
国内独家|阿里云首发MongoDB 8.0,性能提升“快”人一步
阿里云瑶池数据库
227次阅读
2025-04-24 09:53:13
知识点 | 主流的开源协议有哪些?
戏说数据那点事
77次阅读
2025-04-21 10:35:19
OceanBase 单机版可以大批量快速部署吗? YES
AustinDatabases
64次阅读
2025-04-21 10:35:14
鸿门宴讲PostgreSQL -- 被拉去央企救场一天
AustinDatabases
59次阅读
2025-04-24 09:53:40
打破DBA的局限:像架构师一样思考,提升你的技术价值-- 访蚂蚁金服P9 朱春茂
AustinDatabases
50次阅读
2025-04-28 10:18:46
DBA 有心眼,难搞的SQL实际案例分析--都是别人的错
AustinDatabases
46次阅读
2025-04-16 10:33:49
MongoDB “升级项目” 大型连续剧(2)-- 到底谁是"der"
AustinDatabases
44次阅读
2025-04-23 11:19:10
谨献给“国产数据库”培训机构 专贴
AustinDatabases
40次阅读
2025-04-30 12:17:59
DBA 怎么变得更强-应对架构师提出高并发问题?
AustinDatabases
36次阅读
2025-04-28 10:18:45
PostgreSQL 无服务 Neon and Aurora 新技术下的新经济模式 (翻译)
AustinDatabases
36次阅读
2025-04-22 10:12:17