MongoDB - 整合 SpringBoot 操作全流程
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoClientConfiguration;
import org.springframework.data.mongodb.core.MongoTemplate;
@Configuration
public class MongoDBConfig extends AbstractMongoClientConfiguration {
@Override
protected String getDatabaseName() {
return "testdb"; // 根据实际情况配置数据库名
}
@Override
@Bean
public MongoClient mongoClient() {
return MongoClients.create("mongodb://localhost:27017"); // 根据实际情况配置连接地址
}
}
@Service
public class MongoDBService {
@Autowired
private MongoTemplate mongoTemplate;
public void insert(MyDocument document) {
mongoTemplate.insert(document, "mycollection"); // 插入数据到集合
}
public List<MyDocument> findAll() {
return mongoTemplate.findAll(MyDocument.class, "mycollection"); // 查询所有数据
}
// 其他操作...
}
@Controller
public class MongoDBController {
@Autowired
private MongoDBService mongoDBService;
@GetMapping("/insert")
@ResponseBody
public String insert() {
mongoDBService.insert(new MyDocument("field1", "field2"));
return "Inserted";
}
@GetMapping("/findAll")
@ResponseBody
public List<MyDocument> findAll() {
return mongoDBService.findAll();
}
// 其他控制器方法...
}
class MyDocument {
private String field1;
private String field2;
// 构造器、getter、setter...
}
这个简单的例子展示了如何在SpringBoot应用中配置MongoDB客户端,并使用MongoTemplate来执行基本的MongoDB操作。这包括连接到数据库、插入文档、查询所有文档等。这个例子的核心是MongoDBConfig
类,它配置了数据库连接和MongoClient实例。MongoDBService
类使用MongoTemplate
来执行具体的数据库操作。MongoDBController
类提供了Web接口来与服务交互。
评论已关闭