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 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

你可能感兴趣的:(数据库)