springboot整合mongodb的demo
时间: 2023-05-24 22:01:18 浏览: 57
非常感谢您的问题,以下是一个Spring Boot整合MongoDB的示例:
1. 添加Mongodb依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
```
2. 在application.properties文件中添加MongoDB的配置:
```
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=test
```
3. 创建一个实体类作为MongoDB的文档对象:
```
@Document(collection = "users")
public class User {
@Id
private String id;
private String name;
private String email;
// getters and setters
}
```
4. 创建一个MongoDB的Repository接口:
```
@Repository
public interface UserRepository extends MongoRepository<User, String> {
User findByName(String name);
List<User> findByEmailLike(String email);
}
```
5. 在Spring Boot应用程序的服务类中使用Repository:
```
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User getUserByName(String name) {
return userRepository.findByName(name);
}
public List<User> getUsersByEmail(String email) {
return userRepository.findByEmailLike(email);
}
}
```
6. 在Spring Boot应用程序的控制器中调用服务:
```
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{name}")
public User getUserByName(@PathVariable String name) {
return userService.getUserByName(name);
}
@GetMapping("/emails/{email}")
public List<User> getUsersByEmail(@PathVariable String email) {
return userService.getUsersByEmail(email);
}
}
```
上述示例演示了如何使用Spring Boot和MongoDB进行集成,创建文档对象和存储文档数据,并编写了数据访问逻辑。