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());
}
}