其实本人不是主要做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);
文章评论