1.增加(Create)
调用mongoTemplate.insert()
方法即可。
例:
1 | import org.springframework.data.mongodb.core.MongoTemplate; |
2.查询(Read)
调用findById()
方法即可。
findById()
方法的第一个参数是主键id,第二个参数是具体的类
例:
1 | private static final Logger LOG = LoggerFactory.getLogger(SongService); |
3.修改(Update)
修改的操作分为两个部分:
- 修改哪条数据?
- 改数据的哪个字段修改成什么值?
所以,修改操作也分为两部分:修改条件和修改的字段。
具体实现:
先使用条件对象 Criteria 构建条件对象 Query 实例,然后再调用修改对象 Update 的方法 .set() 设置需要修改的字段。最后调用 mongoTemplate.updateFirst(query, updateData, Song.class)
方法完成修改;第 3 个参数是具体的类
例:
1 | private static final Logger LOG = LoggerFactory.getLogger(SongService); |
总结:
mongoTemplate.updateFirst(query, updateData, Song.class)
方法中,Song.class用于确定需要修改的数据类名,query用于通过唯一的id锁定要修改的具体数据是哪一个,updateData用于储存修改后的新数据。
4.删除(Delete)
调用mongoTemplate.remove()
方法即可。
例:
1 | private static final Logger LOG = LoggerFactory.getLogger(SongService); |
5.条件查询(Query)
需要引入的类:
1 | import org.springframework.data.mongodb.core.query.Query; |
调用List<Song> songs = mongoTemplate.find(query, Song.class);
方法
因为可能查询到多条数据,所以返回结果是对象的集合 第一个参数是查询对象 Query 实例;第二个参数就表示查询什么样的对象,写法是 类名.class 。
其中的query是Query类别,需要用Criteria类进行修饰确定。
1 | Query query = new Query(criteria); |
Criteria类有两种定义方法:
1.单一条件:
1 | Criteria criteria1 = Criteria.where("条件字段名").is("条件值"); |
2.组合条件
1 | //第一种:or关系,调用orOperator()方法 |
例:
1 | //Service层代码: |