商城项目(六)整合Mongodb实现文档操作
整合Mongodb的过程,以实现商品浏览记录在Mongodb中的添加、删除、查询为例。
环境搭建
Mongodb
Mongodb是为快速开发互联网Web应用而构建的数据库系统,其数据模型和持久化策略就是为了构建高读/写吞吐量和高自动灾备伸缩性的系统。
Spring Data Mongodb
和Spring Data Elasticsearch类似,Spring Data Mongodb是Spring提供的一种以Spring Data风格来操作数据存储的方式,它可以避免编写大量的样板代码。
常用注解
- @Document:标示映射到Mongodb文档上的领域对象
- @Id:标示某个域为ID域
- @Indexed:标示某个字段为Mongodb的索引字段
Sping Data方式的数据操作
继承MongoRepository接口可以获得常用的数据操作方法
可以使用衍生查询:在接口中直接指定查询方法名称便可查询,无需进行实现,以下为根据会员id按时间倒序获取浏览记录的例子。
/**
* 会员商品浏览历史Repository
* Created by macro on 2018/8/3.
*/
public interface MemberReadHistoryRepository extends MongoRepository<MemberReadHistory,String> {
/**
* 根据会员id按时间倒序获取浏览记录
* @param memberId 会员id
*/
List<MemberReadHistory> findByMemberIdOrderByCreateTimeDesc(Long memberId);
}
在idea中直接会提示对应字段
使用@Query注解可以用Mongodb的JSON查询语句进行查询
@Query("{ 'memberId' : ?0 }")
List<MemberReadHistory> findByMemberId(Long memberId);
整合Mongodb实现文档操作
在pom.xml中添加相关依赖
<!---mongodb相关依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
修改SpringBoot配置文件
修改application.yml文件,在spring:data节点下添加Mongodb相关配置。
mongodb:
host: localhost # mongodb的连接地址
port: 27017 # mongodb的连接端口号
database: mall-port # mongodb的连接的数据库