springboot整合mongodb完整代码
时间: 2023-09-08 07:17:24 浏览: 160
当然,下面是一个简单的示例代码,展示了如何使用Spring Boot整合MongoDB:
1. 首先,确保在pom.xml文件中引入了Spring Boot和MongoDB的依赖:
```xml
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
```
2. 创建一个MongoDB配置类,用于设置MongoDB的连接信息:
```java
@Configuration
public class MongoConfig {
@Value("${spring.data.mongodb.host}")
private String host;
@Value("${spring.data.mongodb.port}")
private int port;
@Value("${spring.data.mongodb.database}")
private String database;
@Bean
public MongoClient mongoClient() {
return new MongoClient(host, port);
}
@Bean
public MongoDbFactory mongoDbFactory() {
return new SimpleMongoDbFactory(mongoClient(), database);
}
@Bean
public MongoTemplate mongoTemplate() {
return new MongoTemplate(mongoDbFactory());
}
}
```
3. 创建一个实体类,对应MongoDB中的集合(collection):
```java
@Document(collection = "users")
public class User {
@Id
private String id;
private String name;
private int age;
// 省略构造方法、getter和setter方法
}
```
4. 创建一个Repository接口,用于操作MongoDB:
```java
@Repository
public interface UserRepository extends MongoRepository<User, String> {
List<User> findByName(String name);
List<User> findByAgeGreaterThan(int age);
}
```
5. 在你的业务类中使用Repository来操作MongoDB:
```java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public List<User> getUsersByName(String name) {
return userRepository.findByName(name);
}
public List<User> getUsersByAgeGreaterThan(int age) {
return userRepository.findByAgeGreaterThan(age);
}
public void saveUser(User user) {
userRepository.save(user);
}
}
```
以上就是一个简单的Spring Boot整合MongoDB的示例代码,你可以根据自己的需求进行修改和扩展。
阅读全文