mongodb修改数据语句_Spring Boot使用MongoDB

本文介绍了如何在Spring Boot应用中使用MongoDB,包括配置数据库连接、创建实体类、设计Dao接口以及进行日志配置。重点讲解了实体类中@Id注解的使用,以及如何自定义ID字段。此外,还提供了测试用例和MongoDB日志输出的配置方法。
摘要由CSDN通过智能技术生成

虚拟机安装MongoDB请参看CentOS7安装MongoDB4

我使用的IDE是STS4,大家按照自己的习惯选择即可。

关键是pom.xml要加入:

c5ca844b23c0f1490bf3425d438d3f5e.png

pom.xml

在application.properties中加入:

spring.data.mongodb.uri=mongodb://用户名:密码@IP:PORT/数据库

实体类

2f52e8d91e004b6613ae05984b2f8c47.png

实体类

省略get、set

其他都不解释了,一看就懂,这里要注意id这个字段。

如上配置,加上注解@Id的情况下,我们新建一条Document的时候,不需额外设置,会自动生成一个如下图的主键:

880bd8698426e00eecfc5cbc8da76276.png

这是一个名为"_id"的ObjectId类型的主键,12个字节的BSON类型字符串。

4字节是UNIX时间戳,3字节表示MongoDB服务器,2字节是生成ID的进程,3字节是随机数。

这么做的好处是对分布式友好。并且,因为id中包含时间戳,天然的就带上了创建时间。我们可以通过

bbd6cef478cffec82746d4ad8dd8433a.png

获取创建时间

获取创建时间。

当然了,如果我们使用MongoDB是对传统DB的一个补充,在系统中还是希望将DB中的ID存入MongoDB的话,那就去除id字段的注解,处理的时候对ID字段做好设置即可。

Dao

6b37b44af3871ee2cec37997b0b6efc8.png

Dao

个人感觉基本覆盖了大部分需求,不再对代码详细解释了。

主要是注意一下,我这次没有使用ObjectId,而是用DB的ID,所以这里的Entity的ID是long。

测试

b51d6d972354b04b72d19f34419c3947.png

测试

没什么好说的。

日志配置

因为我个人喜好在控制台打印出对DB操作的语句,所以对log配置进行了修改。

Spring Boot使用的是logback,在resources目录下创建logback.xml文件,内容如下:

237c3ca2e2feb9def62989d660f0283b.png

logback.xml

关键点是配置MongoDB日志输出,其中name是输出日志的类,level设置成debug,才会将执行的语句输出出来,类似:

find using query: { "goodsName" : { "$regex" : "^.*测试商品.*$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值