当前位置: 首页 > article >正文

使用spring data MongoDB对MongoDB进行简单CURD操作示例

本文章为作者个人学习笔记,仅作参考。

1.application.properties配置

spring.data.mongodb.database=[数据库名]
spring.data.mongodb.host=localhost[主机名,本机:localhost]
spring.data.mongodb.port=[数据库端口,默认:27017]

2.根据数据库文档定义实体类:

@RequiredArgsConstructor
@ToString
@Document(collection = "first")
@Setter
public class UserData {
    @MongoId
    ObjectId id;
    @NonNull
    private Integer code;
    @NonNull
    private String name;

    @Field("data")
    private Data data;

    private String message;
    @Field("refresh_token")
    private  String refreshToken;
    private String status;
    private Integer ttl;
}

 

@Persistent
@Collation
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface Document {
    @AliasFor("collection")
    String value() default ""; // 指定文档名

    @AliasFor("value")
    String collection() default ""; // 指定文档名

    String language() default ""; // 指定文档语言

    @AliasFor(
        annotation = Collation.class,
        attribute = "value"
    )
    String collation() default ""; // 指定排序规则
}

3.声明接口,可在接口定义自定义查询方法:

public interface FirstRepository extends MongoRepository<UserData, String> {

}

4.注入依赖,可使用自带的插入等方法

@Repository
public class Example {
    private final FirstRepository firstRepository;
    @Autowired
    public Example(FirstRepository firstRepository) {
        this.firstRepository = firstRepository;
    }

    public void  insert(UserData userData) {
        firstRepository.save(userData);
        System.out.println("插入完成!");
    }
}

5.运行实例即可

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(DemoApplication.class, args);

        UserData userData = new UserData(200, "xzt");
        Data data = new Data(400);
        userData.setData(data);
        Example example = context.getBean(Example.class);
        example.insert(userData);
    }

}


http://www.kler.cn/a/587132.html

相关文章:

  • SQL99 多表查询
  • 【小沐学Web3D】three.js 加载三维模型(vue3)
  • 23.生产者消费者模型
  • C# NX二次开发:旋转UFUN函数使用详解
  • ​AI时代到来,对电商来说是效率跃升,还是温水煮青蛙
  • PyTorch PINN实战:用深度学习求解微分方程
  • IPoIB驱动中RSS与TSS技术的深度解析:多队列机制与性能优化
  • 洛谷 P1962:斐波那契数列 ← 矩阵快速幂
  • [人工智能]实现神经网络实例
  • 04.Python基础3
  • go~大型项目的参数注册
  • [local-file-system]基于服务器磁盘的本地文件存储方案
  • CentOS 系统安装 docker 以及常用插件
  • Elasticsearch分页查询、关键词高亮与性能优化全解析
  • 国产芯片替代方案:解析沁恒以太网控制器芯片,内置MAC地址
  • 【MySQL】undo日志类型
  • CSS3学习教程,从入门到精通,CSS3 选择器权重问题语法知识点及案例代码(5)
  • Freertos--把队列加入队列集
  • 使用tiptap快速搭建markdown-富文本编辑器
  • 电路基础【2】:三极管基础:PNP与NPN三极管详解