虚拟机安装MongoDB请参看CentOS7安装MongoDB4
我使用的IDE是STS4,大家按照自己的习惯选择即可。
关键是pom.xml要加入:
在application.properties中加入:
spring.data.mongodb.uri=mongodb://用户名:密码@IP:PORT/数据库
实体类
省略get、set
其他都不解释了,一看就懂,这里要注意id这个字段。
如上配置,加上注解@Id的情况下,我们新建一条Document的时候,不需额外设置,会自动生成一个如下图的主键:
这是一个名为"_id"的ObjectId类型的主键,12个字节的BSON类型字符串。
4字节是UNIX时间戳,3字节表示MongoDB服务器,2字节是生成ID的进程,3字节是随机数。
这么做的好处是对分布式友好。并且,因为id中包含时间戳,天然的就带上了创建时间。我们可以通过
获取创建时间。
当然了,如果我们使用MongoDB是对传统DB的一个补充,在系统中还是希望将DB中的ID存入MongoDB的话,那就去除id字段的注解,处理的时候对ID字段做好设置即可。
Dao
个人感觉基本覆盖了大部分需求,不再对代码详细解释了。
主要是注意一下,我这次没有使用ObjectId,而是用DB的ID,所以这里的Entity的ID是long。
测试
没什么好说的。
日志配置
因为我个人喜好在控制台打印出对DB操作的语句,所以对log配置进行了修改。
Spring Boot使用的是logback,在resources目录下创建logback.xml文件,内容如下:
关键点是配置MongoDB日志输出,其中name是输出日志的类,level设置成debug,才会将执行的语句输出出来,类似:
find using query: { "goodsName" : { "$regex" : "^.*测试商品.*$