spring-data-mongodb 增强工具包mongoHelper上手指南

前言

刚刚看到基于 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 库,并添加了很多易于项目管理的功能。

spring-data-mongodb 增强工具包mongoHelper上手指南

0.2.5更新内容

本次更新内容

  1. 完善查询语句的打印,增删改查都可进行打印
  2. 完善数据库导入导出功能,减少内存占用
  3. 其他一些代码写法上的优化,增加了一些数据库操作方法

Spring Boot集成mongoHelper

第一步:增加pom引用

<code><dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-starter-data-mongodb/<artifactid>
/<dependency>/<code>

第二步:注入MongoTemplate

在对应的Dao层注入 MongoTemplate。

第三步:获取集合

<code>mongoTemplate.getCollection(mongoTemplate.getCollectionName(entityClass)).distinct(key, query.getQueryObject())/<code>

第四步、增加操作(插入)

可以一次性插入一个 对象集合 ,也可以一次只插入一个对象 ;当需要插入的大数据量的时候,首先推荐使用批量插入,提升插入性能。

代码示例:

<code>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");\t/<userinfo>/<userinfo>/<code>

备注:

<code>同一个mongo集合中,前后插入的数据 对象类型要一致
实体类需要用注解标识:
@Document(collection = “xxx”):用于实体类上,表明这是一个MongoDB的文档集合,相当于MySQL的数据表;其中collection表示集合名称,不写则默认为实体类名称
@Id:用于实体类中的成员变量,表示主键标识
@Field(“xxx”):用于实体类中的成员变量,表示MongoDB文档集合中的字段,其值对应集合的字段名称。/<code>

总结

虽然一些复杂的查询和更新还需要禽兽编写构造Query和Update,但是大部分情况足够满足的。


分享到:


相關文章: