一,配置.pom文件
加入mongodb起步依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
二,配置.properties或.yml文件
建立与数据库的连接
spring.data.mongodb.uri=mongodb://localhost:27017/mydb
三,创建实体类
package com.eeerosss.pojo;
import lombok.ToString;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* @author : Eeerosss
* @create 2022/9/28 16:55
*/
@ToString
@Document(collection = "user")
public class User {
@Id
private ObjectId _id;
//@Field("doc_name")
//@Transient
private String name;
@Indexed
private int age;
public ObjectId get_id() {
return _id;
}
public void set_id(ObjectId _id) {
this._id = _id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
四,使用测试工具对数据库功能进行测试
1,新增
//新增
@Test
void testSave() {
System.out.println("进入了添加测试");
for(int i=0;i<10;i++) {
User student = new User();
student.setName("张小骞"+i);
student.setAge(22);
System.out.println(mongoTemplate);
mongoTemplate.insert(student, "user");
}
}
测试结果
2,删除(默认根据id进行删除指定对象)
@Test
void testDelete() {
System.out.println("进入删除测试-单条");
User student = new User();
student.set_id(new ObjectId("63340f1cd4a1d46cbfab7b10"));
mongoTemplate.remove(student);
System.out.println("删除测试结束");
}
测试结果
3,删除(根据条件进行删除指定对象)
@Test
void testDeleteByQuery() {
System.out.println("进入删除测试-批量删除");
DeleteResult deleteResult = mongoTemplate.remove(Query.query(Criteria.where("name").is("张小骞1")), User.class);
System.out.println(deleteResult);
System.out.println("删除测试结束");
}
测试结果
4,修改
@Test
void testUpdate() {
System.out.println("进入修改测试");
Query query = Query.query(Criteria.where("name").is("张小骞"));
Update update = Update.update("age", 24);
UpdateResult updateResult = mongoTemplate.updateFirst(query, update, User.class);
System.out.println(updateResult.getModifiedCount());
System.out.println("删除测试结束");
}
测试结果
5,查询 (按条件查询)
@Test
void testQuery() {
Query query = Query.query(Criteria.where("age").gte(19).lte(40));
List<User> list = mongoTemplate.find(query, User.class);
for (User student : list) {
System.out.println(student);
}
}
测试结果
6,查询全部
@Test
void testQueryAll(){
List<User> list = mongoTemplate.findAll(User.class);
for (User student:list){
System.out.println(student);
}
}
测试结果
案例结束