Java代码,使用MongoTemplate对实体类进行增删改查
时间: 2024-05-07 09:23:08 浏览: 91
以下是使用MongoTemplate对实体类进行增删改查的Java代码示例:
1. 定义实体类
```java
@Document(collection = "user")
public class User {
@Id
private String id;
private String name;
private int age;
// 省略 getter 和 setter 方法
}
```
2. 使用MongoTemplate进行增删改查
```java
@Repository
public class UserRepository {
@Autowired
private MongoTemplate mongoTemplate;
/**
* 添加用户
* @param user 用户实体类
*/
public void addUser(User user) {
mongoTemplate.insert(user);
}
/**
* 根据ID删除用户
* @param id 用户ID
*/
public void deleteUserById(String id) {
Criteria criteria = Criteria.where("_id").is(id);
Query query = new Query(criteria);
mongoTemplate.remove(query, User.class);
}
/**
* 更新用户信息
* @param user 用户实体类
*/
public void updateUser(User user) {
Criteria criteria = Criteria.where("_id").is(user.getId());
Query query = new Query(criteria);
Update update = new Update();
update.set("name", user.getName());
update.set("age", user.getAge());
mongoTemplate.updateFirst(query, update, User.class);
}
/**
* 根据ID查询用户信息
* @param id 用户ID
* @return 用户实体类
*/
public User findUserById(String id) {
Criteria criteria = Criteria.where("_id").is(id);
Query query = new Query(criteria);
return mongoTemplate.findOne(query, User.class);
}
/**
* 查询所有用户信息
* @return 用户实体类列表
*/
public List<User> findAllUsers() {
return mongoTemplate.findAll(User.class);
}
}
```
以上是使用MongoTemplate对实体类进行增删改查的Java代码示例,其中使用了Spring Data MongoDB的注解@Document、@Id等进行实体类映射,使用了MongoTemplate的insert、remove、updateFirst、findOne、findAll等方法进行数据操作。
阅读全文