MongoDB-SpringBoot使用(简单案例)

一,配置.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);
		}
	}

        测试结果

 案例结束

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值