一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第21天,点击查看活动详情。
大家好,我是程序员路飞,三年的下水道打杂前端,喜欢研究技术,正在往全栈发展
欢迎小伙伴们加我微信:DZHningmeng,一起讨论,期待与大家共同成长🥂
前言
这是Spring Boot集成Spring Security的第六章,我将会通过这个系列文章,包括完整的项目搭建、编码过程实现(认证和授权),关键点讲解,来帮助大家了解Spring Security在实际项目中的应用
今天这篇内容是集成MongoDB
往期系列
Spring Boot集成Spring Security系列一之搭建项目
Spring Boot集成Spring Security系列二之查询用户
Spring Boot集成Spring Security系列三之自定义登录
Spring Boot集成Spring Security系列四之接口鉴权
Spring Boot集成Spring Security系列五之Redis持久化缓存
Spring Boot集成Spring Security系列六之缓存操作异常
Spring Boot集成Spring Security系列七之接口异常处理
功能实现
MongoDB
MongoDB是一个非关系型数据库,利用json格式来存储数据
引入依赖
<!---mongodb相关依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
配置文件
data:
mongodb:
uri: mongodb+srv://root:xxxx@cluster0.oyide.mongodb.net/test?retryWrites=true&w=majority
database: mall
我这里用的是官网免费提供的512MB的数据库,已经足够我测试用了,大家也可以自己本地搭建,这边就不多叙述了
编写查询代码
实体类
package com.example.springsecurity.nosql.mongodb.document;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;
/**
* @Author Ning Meng
* @Date 2022/4/28 10:52
**/
@Document
@Data
public class MemberReadDocument {
@Id
private String id;
@Indexed
private Long memberId;
private String memberNickname;
private String memberIcon;
@Indexed
private Long productId;
private String productName;
private String productPic;
private String productSubTitle;
private String productPrice;
private Date createTime;
}
查询方法
package com.example.springsecurity.nosql.mongodb.repository;
import org.springframework.data.mongodb.repository.MongoRepository;
import java.util.List;
/**
* @Author Ning Meng
* @Date 2022/4/28 10:50
**/
public interface MemberReadRepository extends MongoRepository<MemberReadDocument, String> {
List<MemberReadDocument> findMemberReadRepositoryByMemberId(Long memberId);
}
编写测试类
package com.example.springsecurity;
import cn.hutool.core.lang.Assert;
import com.example.springsecurity.nosql.mongodb.document.MemberReadDocument;
import com.example.springsecurity.nosql.mongodb.repository.MemberReadRepository;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
/**
* @Author Ning Meng
* @Date 2022/4/28 11:26
**/
@SpringBootTest
public class mongodbTest {
@Autowired
private MemberReadRepository memberReadRepository;
@Test
void findMemberReadRepositoryByMemberId() {
List<MemberReadDocument> memberReadRepositoryList = memberReadRepository.findByMemberIdOrderByCreateTimeDesc(2L);
Assert.notEmpty(memberReadRepositoryList);
}
🚴♀️ 结束语
通过项目实践,结合具体的步骤,输出相关的文章,给小伙伴一些有些的知识点,希望大家喜欢我的文章,希望认识到更多志同道合的伙伴,如果你也对技术感兴趣,可以加我好友,互相探讨,一起进步
Github: Cheering-baby
公众号: 程序员路飞
vx: DZHningmeng
最后,如果喜欢我的文章,可以给个赞👍或者关注➕都是对我最大的支持