MongoRepository
Spring提供了一个非常强大的组件Spring Data JPA,其提供了很多基础的操作数据的方法,可以大大减少数据访问层的开发工作量,同样对于MongoDB也提供了MongoRepository加快开发。
下面是基础的规范,我们只需要继承MongoRepository接口,命名符合该规范即可
例子
MongoTemplate
MongoRepository毕竟是提前定义的规范,虽然满足了大部分需求,但一些复杂的需求如自定义复杂查询条件、自定义排序条件、自定义显示字段、操作数据库、操作集合等等就无能为力了,这个时候,MongoTemplate就是很好的补充。
例子,这是接口实现类的形式
MongoClient
有了MongoTemplate,MongoClient似乎就没太大的作用了,因为MongoTemplate的功能很全面,那么,什么时候使用MongoClient呢?我们看MongoTemplate的特点,在编码时,要提前做好Mongo的数据源配置,像这样
一般会指定数据库,这样SpringBoot启动就会读取Mongo配置,进而实例化MongoTemplate,如果我的Mongo数据库很多怎么办,而且也不知道什么时候会使用?虽然可以配置数据库,但似乎很麻烦,此时可以用MongoClient,动态生成MongoTemplate。