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,由于第四步第二张图片是另一个项目的,只是作为拓展,所以这里只测试了第一张图片的方法

 

 

 

 

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值