MongoTemplate操作mongodb数据库

一、MongoTemplate操作常用的类

Criteria类:它封装所有的语句,以方法的形式进行查询。

Query类:这是将语句进行封装或者添加排序之类的操作。

二、Mongodb集合定义案例

import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

@Document(collection = "collection_name")
public class UserPO {
    @Indexed
    @Field("user_id")
    private Long userId;

    @Field("username")
    private String username;

    @Field("password")
    private String password;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

注:

  • @Document 用来表明关联的mongo中的那个collection(类似于表名)
  • @Indexed 为某个字段建立索引
  • @Field 声明属性对应的数据库中的哪个字段

三、MongoTemplate操作mongodb数据库案例

//插入一条
UserPO userPO = new UserPO();
userPO.setUserId(1L);
userPO.setUsername("username");
userPO.setPassword("password");
mongoTemplate.insert(userPO);

//插入多条
LinkedList<UserPO> pos = Lists.newLinkedList();
UserPO userPO = new UserPO();
userPO.setUserId(1L);
userPO.setUsername("username");
userPO.setPassword("password");
pos.add(userPO);//集合中可以放多个
mongoTemplate.insertAll(pos);

//删除
Query query=new Query(Criteria.where("_id").is(id));
mongoTemplate.remove(query,UserPO.class);

//更新
Query query=new Query(Criteria.where("_id").is(id));
Update update = Update.update("要更新的字段", "更新的值");
mongoTemplate.updateFirst(query, update, UserPO.class);

//查找
//分页查询
Query query = new Query();
query.skip("跳过的数据条数").limit("一页的数据条数"); 
return mongoTemplate.find(query, UserPO.class);

//条件查询1,多条件is("值")后面可以加and("字段2").is("值2")
Query query=new Query(Criteria.where("字段1").is("值1"));
return mongoTemplate.find(query, UserPO.class);

参考文献:

https://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/core/MongoTemplate.html#executeCommand-org.bson.Document-

https://www.jianshu.com/p/5c4a45f174e9

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值