Spring与MongoDB的结合(MongoTemplate)

对于现在大数据即将到来的时代,noSql的所占的比重越来越多,noSql的使用率也逐渐在上升,前面几篇博文谢了关于SpringJPA的持久化以及SpringData-jpa的实现,这篇与下篇将会介绍Spring与MongoDB的持久化以及SpringData-Mongo

这里主要介绍的是Spring与MongoDB的持久化实现,使用了Spring的MongoTemplate

第一步:导入jar包下面是我所导入的jar包,还是要特别注意springdata jars的两个jar包的版本,不然很容易冲突

第二步:配置config文件,@EnableMongoRepositories是关于SpringData的实现,这里可以不要,在下篇博文会介绍;@ComponentScan就是我们熟悉的注解扫描,这里配置的主要是扫dao里面的@Repository注解;MongoClientFactoryBean类似于以前关系型数据库的dataSource,主要是配置一些连接信息;mongoTemplate就是主要是操作MongoDB数据库,里面的"test"就是集合(类似关系型数据库的表)名

第三步:配置pojo类,文件数据库也类似于关系数据库,它也有主键,但它在配置“关系”时比较简单,所以拿其处理带关系的数据时,会很麻烦(数据库那里简单了那很多地方就要我们代码控制了)

这里大家不要疑惑为啥我的Subject类什么注解都没配,跟JPA或者Hibernate不太一样,请仔细看Student类里面的subjectList上面的注释,下面我也会画一张图帮助理解

Student类

Subject类

一个文档可以查询其他文档里面的记录,并且把那些文档内嵌入自己当前文档中,所以如果我们不想以Subject结合作为主查询的话,甚至可以不用在Subject里面写注解,也就是数据库里面没有Subject集合,有的只是Student集合里面的一个个Subject子集合

第四步:配置MongoTemplate,这里面没有什么难点了,跟配置JPA的基本相同,这里解释一下MongoOperations是个接口,MongoTemplate是它的实现类,这里的Demo太简单了,我再附上另一个项目里面的稍微复杂一点的查询

这是稍微复杂一点的查询,报错请忽略掉,主要看里面方法的实现

第五步:测试,测试用的是Spring-test,由于第四步第二张图片是另一个项目的,只是作为拓展,所以这里只测试了第一张图片的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.了解Spring 2.了解NoSQL和文档数据库 3.要求 4.其他帮助资源 4.1。支持 4.1.1。社区论坛 4.1.2。专业支持 4.2。发展之后 5.新&值得注意的 5.1。Spring Data MongoDB 2.1中的新特性 5.2。Spring Data MongoDB 2.0中的新特性 5.3。Spring Data MongoDB 1.10中的新特性 5.4。Spring Data MongoDB 1.9中的新特性 5.5。Spring Data MongoDB 1.8中的新特性 5.6。Spring Data MongoDB 1.7中有什么新功能 6.依赖 6.1。Spring Boot的依赖管理 6.2。Spring框架 7.使用Spring Data Repositories 7.1。核心概念 7.2。查询方法 7.3。定义存储库接口 7.3.1。微调储存库定义 7.3.2。空处理存储库方法 7.3.3。将存储库与多个Spring Data模块一起使用 7.4。定义查询方法 7.4.1。查询查询策略 7.4.2。查询创建 7.4.3。属性表达式 7.4.4。特殊参数处理 7.4.5。限制查询结果 7.4.6。流式查询结果 7.4.7。异步查询结果 7.5。创建存储库实例 7.5.1。XML配置 7.5.2。JavaConfig 7.5.3。独立使用 7.6。Spring Data存储库的自定义实现 7.6.1。定制个人存储库 7.6.2。自定义基础存储库 7.7。从聚合根发布事件 7.8。Spring数据扩展 7.8.1。Querydsl扩展 7.8.2。Web支持 7.8.3。存储库填充程序 7.8.4。传统网络支持 参考文档 8.介绍 8.1。文档结构 9. MongoDB支持 9.1。入门 9.2。示例存储库 9.3。用Spring连接到MongoDB 9.3.1。使用基于Java的元数据注册Mongo实例 9.3.2。使用基于XML的元数据注册Mongo实例 9.3.3。MongoDbFactory接口 9.3.4。使用基于Java的元数据注册MongoDbFactory实例 9.3.5。使用基于XML的元数据注册MongoDbFactory实例 9.4。MongoTemplate简介 9.4.1。实例化MongoTemplate 9.4.2。WriteResultChecking策略 9.4.3。WriteConcern 9.4.4。WriteConcernResolver 9.5。保存,更新和删除文档 9.5.1。如何_id在映射图层中处理该字段 9.5.2。类型映射 9.5.3。保存和插入文件的方法 9.5.4。更新集合中的文档 9.5.5。在集合中插入文档 9.5.6。在集合中查找和插入文档 9.5.7。删除文件的方法 9.5.8。乐观锁定 9.6。查询文件 9.6.1。查询集合中的文档 9.6.2。查询文件的方法 9.6.3。查询不同的值 9.6.4。地理空间查询 9.6.5。GeoJSON支持 9.6.6。全文查询 9.6.7。排序规则 9.6.8。JSON模式 9.6.9。流利的模板API 9.7。按实例查询 9.7.1。介绍 9.7.2。用法 9.7.3。示例匹配器 9.7.4。执行一个例子 9.7.5。无类型示例 9.8。减少地图操作 9.8.1。使用示例 9.9。脚本操作 9.9.1。使用示例 9.10。集团运营 9.10.1。使用示例 9.11。聚合框架支持 9.11.1。基本概念 9.11.2。支持的聚合操作 9.11.3。投影表达式 9.11.4。分面分类 9.12。用自定义转换器覆盖默认映射 9.12.1。使用已注册的Spring Converter进行保存 9.12.2。使用Spring转换器读取 9.12.3。使用MongoConverter注册Spring转换器 9.12.4。转换器消除歧义 9.13。索引和集合管理 9.13.1。创建索引的方法 9.13.2。访问索引信息 9.13.3。使用集合的方法 9.14。执行命令 9.14.1。执行命令的方法 9.15。生命周期事件 9.16。例外翻译 9.17。执行回调 9.18。GridFS支持 9.19。更改流 9.19.1。使用MessageListener更改流 9.19.2。更改流 - 无效 10.反应性的MongoDB支持 10.1。入门 10.2。使用Spring和Reactive Streams Driver连接到MongoDB 10.2.1。使用基于Java的元数据注册MongoClient实例 10.2.2。ReactiveMongoDatabaseFactory接口 10.2.3。使用基于

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值