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 工程选择相应依赖:
(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 已经实现了常用的方法,所以可以直接用。
(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 查看:添加成功
(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); }
查询成功:
三、使用 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); }
操作成功:
本文地址:https://blog.csdn.net/nanhuaibeian/article/details/108269620
上一篇: pandas获取数据的缺失占比