Spring-boot引入MongoDb(入门级别)

1 篇文章 0 订阅
  1. 第一步 下载安装mongo https://www.mongodb.com/try/download/community 官网下载 里面有各种操作系统的自行选择

        我是windows的自行参考

        

2.第二步上图一样增加两个文件夹data和log,再新建一个mongodb.conf内容如下

 

dbpath=E:\software\mongodb-win32-x86_64-2012plus-4.2.8/data
logpath=E:\software\mongodb-win32-x86_64-2012plus-4.2.8/log/master.log 
maxConns=4000 
logappend=true

具体配置详情看着 不过根据参数名应该能见名知意   mongodb.conf配置文件详解

 

3.然后就是进入bin目录下面 (有个mongod和mongo)

mongod --config e:mongodb-win32-x86_64-2012plus-4.2.8\mongodb.conf

启动好后访问 http://localhost:27017/ 出现一段英文如下:

It looks like you are trying to access MongoDB over HTTP on the native driver port.

好你已经成功了一半了

还可以使用bin目录下的mongo进入

4.一开始进去一定要安全管理,新建管理员

# 连接 MongoDB
$ bin/mongo

# 切换到 admin 库
> use admin;

# 创建管理员账号
> db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

创建好后在mongodb.conf增加配置auth=true,重启一下

5.然后创建自己的库和添加库的管理员

# 连接 MongoDB
$ bin/mongo

# 切换到 admin 库
> use admin;

# 管理员认证
> db.auth('useradmin', 'adminpassword');

# 创建数据库如果没有则会创建库
> use yourdatabase;


创建 yourdatabase 的管理员的账号密码
> db.createUser({ user: "test01", pwd: "password01", roles: [{ role: "dbOwner", db:"yourdatabase" }] })

# 创建 yourdatabase 的开发者的账号密码
db.createUser({ user: "test01", pwd: "test02", roles: [{ role: "readWrite",db: "yourdatabase" }] })

好了,mongodb你已经会了,看看springboot怎么操作mongo的

jar包配置必不可少

 <!-- 自动化配置 Spring Data Mongodb -->
        <dependency>    
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

再建个configuration

// MongoDBConfig.java

@Configuration
public class MongoDBConfig {

    @Bean // 目的,就是为了移除 _class field 。参考博客 https://blog.csdn.net/bigtree_3721/article/details/82787411
    public MappingMongoConverter mappingMongoConverter(MongoDbFactory factory,
                                                       MongoMappingContext context,
                                                       BeanFactory beanFactory) {
        // 创建 DbRefResolver 对象
        DbRefResolver dbRefResolver = new DefaultDbRefResolver(factory);
        // 创建 MappingMongoConverter 对象
        MappingMongoConverter mappingConverter = new MappingMongoConverter(dbRefResolver, context);
        // 设置 conversions 属性
        try {
            mappingConverter.setCustomConversions(beanFactory.getBean(CustomConversions.class));
        } catch (NoSuchBeanDefinitionException ignore) {
        }
        // 设置 typeMapper 属性,从而移除 _class field 。
        mappingConverter.setTypeMapper(new DefaultMongoTypeMapper(null));
        return mappingConverter;
    }

}

 yml配置

spring:
  data:
    # MongoDB 配置项,对应 MongoProperties 类
    mongodb:
      host: 127.0.0.1
      port: 27017
      database: yourdatabase
      username: test01
      password: password01 #这个密码要加引号,所有的密码最好都要加
      # 上述属性,也可以只配置 uri

logging:
  level:
    org:
      springframework:
        data:
          mongodb:
            core: DEBUG # 打印 mongodb 操作的具体语句。生产环境下,不建议开启。

DO

@Document(collection = "User")
public class UserDO { 

    @Id
    private Integer id;
    /**
     * 账号
     */
    private String username; 

}

再用Repository操作,相当于dao ,用过JPA的应该都熟悉

// ProductRepository.java

public interface UserRepository extends MongoRepository<UserDO, Integer> {
}

很ok 然后就可以使用了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值