Java中运用MongoTemplate对MongoDB实现增删改查以及聚合查询的使用

在Java中除了使用源生的方式操作MongoDB,还可以使用MongoTemplate封装类。

首先pom中引入依赖

		<dependency>
		    <groupId>org.springframework.data</groupId>
		    <artifactId>spring-data-mongodb</artifactId>
		</dependency>

大多数情况下,还是使用实体类的方式来封装mongoDB的document,以此来实现一一对应。

@Component
@Document(collection="user")
@Data
public class User{
	private String id;//主键
	
	private String userName;//用户名
	
	private String createBy;//创建人
	
	private Date createTm;//创建时间
	
	private String modifyBy;//修改人
	
	private Date modifyTm;//修改时间
	
}

这里要说明一下,MongoDB的主键是_id,在定义实体类时,可以使用id,方便操作,会自动与数据库对应的。

其中@Document注解是用来指定数据库的collection,这样就知道该去操作哪个collection了。

@Data使用了lombok来自动生成getter、setter、constructor、toString等方法,需要引入依赖

		<dependency>
			
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
以下是使用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等方法进行数据操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值