依赖(pom.xml
):
<dependencies>
<!-- Spring Boot Starter Data MongoDB -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<!-- Lombok(可选) -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<dependencies>
<!-- Spring Boot Starter Data MongoDB -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<!-- Lombok(可选) -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
**实体类**(示例):
@Data
@Document(collection = "users") // 对应MongoDB集合名
public class User {
@Id
private String id;
private String name;
private Integer age;
private Boolean active;
}
@Data
@Document(collection = "users") // 对应MongoDB集合名
public class User {
@Id
private String id;
private String name;
private Integer age;
private Boolean active;
}
### 2️⃣ 批量查询(Batch Query)
#### 方式1:使用 `$in` 操作符(适合精确匹配)
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private MongoTemplate mongoTemplate;
// 批量查询(根据ID列表)
@GetMapping("/batch")
public List<User> getUsersByIds(@RequestParam List<String> ids) {
Query query = Query.query(
Criteria.where("_id").in(ids) // 利用MongoDB的$in操作符
);
return mongoTemplate.find(query, User.class);
}
}
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private MongoTemplate mongoTemplate;
// 批量查询(根据ID列表)
@GetMapping("/batch")
public List
Query query = Query.query(
Criteria.where("_id").in(ids) // 利用MongoDB的$in操作符
);
return mongoTemplate.find(query, User.class);
}
}
#### 方式2:分页批量查询(避免内存溢出)