暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MongoHelper 0.2.5 发布,Spring-Data-MongoDB 增强工具包

IT实战联盟 2020-04-20
379

前言

刚刚看到基于 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论