使用spring-data配置实现mongoDB增删改查

1.安装配置mongoDB并启动

具体操作请参见此篇博客:https://www.jianshu.com/p/7241f7c83f4a

2.新建一个springBoot java web项目

具体操作请见此篇博客:https://blog.csdn.net/qq_37856300/article/details/86223134

3.新建一个实体类Person

import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;

@Data
@NoArgsConstructor
public class Person {
    @Id   //指明注解下方的id域为主键id
    private Long id;
    private String name;
    private int age;
    private boolean sex;
}

这里我使用了lombok,省略了手写getter、setter的步骤,没有用过的童鞋可以去了解一下,非常好用,只需要加一个@Data注解就可以了

4.在application.properties中配置mongoDB

#ip地址
spring.data.mongodb.host=127.0.0.1
#端口
spring.data.mongodb.port=27017
#数据库名
spring.data.mongodb.database=local

5.编写junit测试类

这里我直接写在了springboot启动类的测试类中:

import com.example.demo.test.Person;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {

    @Autowired
    protected MongoTemplate mongoTemplate;

    @Test
    public void selectData() {
        Query query = new Query(Criteria.where("name").is("张三"));
        List<Person> personList = mongoTemplate.find(query,Person.class);
        for (Person p : personList)
        {
            System.out.println(p.toString());
        }
    }

    @Test
    public void insertData() {
        Person person = new Person();
        person.setId(2L);
        person.setName("张三");
        person.setAge(21);
        person.setSex(true);
        mongoTemplate.insert(person);
    }

    @Test
    public void deleteData() {
        Query query = new Query(Criteria.where("name").is("张三"));
        DeleteResult deleteResult = mongoTemplate.remove(query,Person.class);
        System.out.println("删除数量为:"+deleteResult.getDeletedCount());
    }

    @Test
    public void updateData() {
        Query query = new Query(Criteria.where("name").is("张三"));
        Update update = new Update();
        update.set("name","李四");
        UpdateResult updateResult = mongoTemplate.updateFirst(query,update,Person.class);
        System.out.println("更新数量为:"+updateResult.getModifiedCount());
    }
}

分别执行junit测试方法即可,大功告成!!!

猜你喜欢

转载自blog.csdn.net/qq_37856300/article/details/89791355