欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java 开发使用 SpringBoot 整合 MongoDB实现缓存存储

程序员文章站 2024-01-11 16:11:04
我们已经学习过:一篇文章带你搞定使用 docker 搭建 MongoDB所以,本篇文章在此基础上使用 SpringBoot 完成对 MongoDB 的整合文章目录一、前期准备二、使用 MongoRepository 实现三、使用 MongoTemplate 实现一、前期准备(1)创建 SpringBoot 工程选择相应依赖:(2)配置 application.properties:信息与上篇文章建立的 MongoDB 容器配套spring.data.mongodb.host=192.168.2...

本篇文章在此基础上使用 SpringBoot 完成对 MongoDB 的整合



一、前期准备

(1)创建 SpringBoot 工程选择相应依赖:

Java 开发使用 SpringBoot 整合 MongoDB实现缓存存储

(2)配置 application.properties:信息与上篇文章建立的 MongoDB 容器配套

spring.data.mongodb.host=192.168.245.133 #用户名密码不同的库需要不同的认证,这里是在 admin 库中
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.username=yolo
spring.data.mongodb.password=yolo
spring.data.mongodb.port=27017 spring.data.mongodb.database=yolo 

二、使用 MongoRepository 实现

(1)定义实体类 User

package com.yolo.mongo.bean; public class User { private Integer id; private String name; //get,set 方法省略 @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + '}'; } } 

(2)定义 UserDao :注意继承 MongoRepository
这里的功能类似我们学过的 :一篇文章带你快速入门 Spring Data JPA 中的 JpaRepository

package com.yolo.mongo.dao; import com.yolo.mongo.bean.User; import org.springframework.data.mongodb.repository.MongoRepository; public interface UserDao extends MongoRepository<User,Integer> { } 

可以看到 接口 MongoRepository 已经实现了常用的方法,所以可以直接用。

Java 开发使用 SpringBoot 整合 MongoDB实现缓存存储
(3)测试

@SpringBootTest class MongoApplicationTests { @Autowired UserDao userDao; @Test void addUser(){ User user = new User(); user.setId(1); user.setName("yolo_1"); userDao.insert(user); } } 

通过 Robo 3T 查看:添加成功

Java 开发使用 SpringBoot 整合 MongoDB实现缓存存储
(4)同样和 jpa 相同,也可以自定义查询:

public interface UserDao extends MongoRepository<User,Integer> { /**
     * 查询姓名包含 name 的用户
     * @param name
     * @return
     */ List<User> findUserByNameContaining(String name); } 

测试查看:

 @Test void findUser(){ List<User> all = userDao.findAll(); System.out.println(all); List<User> yolo = userDao.findUserByNameContaining("yolo"); System.out.println(yolo); } 

查询成功:

Java 开发使用 SpringBoot 整合 MongoDB实现缓存存储

三、使用 MongoTemplate 实现

使用 MongoTemplate 实现,这里就不需要 UserDao 的文件了,可以直接注入即可。

 @Autowired MongoTemplate mongoTemplate; @Test void test(){ User user = new User(); user.setId(4); user.setName("mogoTemplate"); //插入操作 mongoTemplate.insert(user); //查询操作 List<User> all = mongoTemplate.findAll(User.class); System.out.println(all); } 

操作成功:
Java 开发使用 SpringBoot 整合 MongoDB实现缓存存储

本文地址:https://blog.csdn.net/nanhuaibeian/article/details/108269620