Wing的小站

  • 首页
  • IT新闻
  • 技术文章
  • 生活随笔
  • 休闲娱乐
  • 个人作品
  • 留言板
  • 关于博主
JavaFX,Unity3D,Android,IOS,技术教程,生活随笔
  1. 首页
  2. 技术文章
  3. 正文

SpringBoot使用Spring Data集成MongoDB报错的问题

2020年8月19日 5465点热度 0人点赞 0条评论

其实本人不是主要做Java Web的,但因为各种原因最近也在看SpringBoot相关的内容。

遥想当年毕业时还在流行Struts Hibernate之类的SSH框架,如今包括应届毕业生在内,简历上都是铺天盖地的Spring、SpringMVC、SpringBoot、Redis等等,培训机构功不可没。

近日使用Spring Data Mongodb来集成MongoDB的连接时,一直报错java.lang.NoSuchMethodError: 'com.mongodb.client.result.InsertOneResult'之类的,仔细看了一下应该是MongoDB Driver部分的引用库有问题。

Spring Data官方只写了spring-data-mongodb的库引入:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
    <version>3.0.3.RELEASE</version>
</dependency>

但事实上还需要引入mongodb相关的驱动,陆续使用了Maven上的mongodb-driver、mongo-java-driver均有问题,后来发现github上写的是引入mongodb-driver-sync,试了下果然可以了。

<dependency>
   <groupId>org.mongodb</groupId>
   <artifactId>mongodb-driver-sync</artifactId>
   <version>4.1.0</version>
</dependency>

后面只需要通过MongoClient和MongoTemplate就可以进行MongoDB数据库的操作了。

//数据库配置
@Configuration
public class DbConfig {
    @Autowired
    public MongoClient mongoClient;

    @Bean
    public MongoTemplate createMT(){
        return new MongoTemplate(new SimpleMongoClientDatabaseFactory(mongoClient, "testdb"));
    }

    @Bean
    public MongoClient create(){
        return MongoClients.create("mongodb://admin:123456@localhost:27017");
    }
}
//保存数据
User user = new User();
user.setName(name);
user.setEmail(email);
user.setAddress(address);
mongoTemplate.save(user);

//查询数据
List<User> list = mongoTemplate.findAll(User.class);
标签: SpringBoot
最后更新:2020年8月19日

wing1314

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 Wing的小站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备17006951号-1

42011102000591