在 Spring Boot 中使用 MongoDB
准备工作
关于 MongoDB 的安装, 参考文章:在 centos7 中使用 docker 安装 MongoDB 并远程连接
添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
applica.properties 配置文件如下:
spring.data.mongodb.host=xxx.xxx.xxx.xxx
spring.data.mongodb.port=27017
# mongodb 的用户名密码不统一,不同的数据库有不同的认证方式
# 这里的用户名和密码,针对的是 admin 数据库
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.username=root
spring.data.mongodb.password=123456
# 操作的数据库的名字,任取
spring.data.mongodb.database=test
示例
新建 bean
包,再建一个 Book
类:
@Data
public class Book {
private Integer id;
private String name;
private String author;
}
新建一个 dao
包,再建一个 BookDao
接口:
public interface BookDao extends MongoRepository<Book, Integer> {
}
如上,接口 BookDao
继承 MongoRepository
,操作方式和 在 Spring Boot 中使用 Spring Data JPA 十分类似。
运行项目,即可在数据库中自动建成对应的数据库和集合:
测试
在测试类中,进行增删改查的测试。
增加数据
@SpringBootTest
class MongodbApplicationTests {
@Autowired
BookDao bookDao;
@Test
void contextLoads() {
Book book = new Book();
book.setId(2);
book.setName("红楼梦");
book.setAuthor("曹雪芹");
bookDao.insert(book);
}
}
查询数据
@Test
public void test1(){
List<Book> list = bookDao.findAll();
System.out.println(list);
}
自定义查询
在 BookDao 中,自定义一个方法,按书名查询数据:
public interface BookDao extends MongoRepository<Book, Integer> {
/**
* 定义一个按书名查询的方法
* @param name
* @return
*/
List<Book> findBookByNameContaining(String name);
}
在测试方法中,调用这个方法:
@Test
public void test1(){
List<Book> books = bookDao.findBookByNameContaining("红");
System.out.println(books);
}
每天学习一点点,每天进步一点点。
分类:
Spring Boot
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 提示词工程师自白:我如何用一个技巧解放自己的生产力
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 如何不购买域名在云服务器上搭建HTTPS服务