mongodb测试类使用

This commit is contained in:
lvleigang 2024-08-22 08:51:20 +08:00
parent bd7b4fd77d
commit 88bd9c5e0e
1 changed files with 104 additions and 25 deletions

View File

@ -21,15 +21,23 @@ import com.hzya.frame.seeyon.cbs8.service.IPaymentService;
import com.hzya.frame.stringutil.StringUtil;
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
import com.hzya.frame.util.AESUtil;
import com.mongodb.client.result.UpdateResult;
import org.apache.http.protocol.HTTP;
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.annotation.Id;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.mapping.Document;
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 javax.annotation.Resource;
import java.io.Serializable;
import java.util.*;
/**
@ -178,34 +186,105 @@ public class temButtom {
private MongoTemplate mongoTemplate;
@Test
public void mongodbinsert() {
//新增数据
JSONObject jsonStr = new JSONObject();
jsonStr.put("id","1");
jsonStr.put("name","张三");
jsonStr.put("code","001");
mongoTemplate.insert(jsonStr,"user");
System.out.println(jsonStr.toJSONString());
public void mongodbTest() {
boolean flag = true;
TestUser testUser = new TestUser("1","张三","U001");
for (int i = 0; i < 20; i++) {
int a = i+4;
TestUser user = new TestUser(String.valueOf(a),"张三"+a,"U00"+a);
//mongoTemplate.insert(user,"user");
}
//新增数据
//mongoTemplate.insert(testUser,"user");
System.out.println(testUser.toString());
//新增或修改数据
testUser.setName("李四");
//mongoTemplate.save(testUser,"user");
System.out.println(testUser.toString());
//批量新增
TestUser testUser1 = new TestUser("2","王武","U002");
TestUser testUser2 = new TestUser("3","赵六","U003");
List<TestUser> testUsers = new ArrayList<>();
testUsers.add(testUser1);
testUsers.add(testUser2);
//mongoTemplate.insert(testUsers,"user");
//修改数据
Query query= new Query(Criteria.where("id").is(testUser1.getId()));
//更新值
Update update= new Update().set("name", testUser1.getName()+"up").set("code", testUser1.getCode());
//更新查询满足条件的文档数据全部
//UpdateResult result = mongoTemplate.updateMulti(query, update, TestUser.class,"user");
//if(result!=null){
// System.out.println("更新条数:" + result.getMatchedCount());
//}
//删除数据
Query query1 = new Query(Criteria.where("_id").is(testUser1.getId()));
//List<TestUser> result1= mongoTemplate.findAllAndRemove(query1, TestUser.class,"user");
//System.out.println("删除的文档数据:" + result1.toString());
@Test
public void mongodbSave() {
//新增数据
JSONObject jsonStr = new JSONObject();
jsonStr.put("id","1");
jsonStr.put("name","张三2");
jsonStr.put("code","001");
mongoTemplate.save(jsonStr,"user");
System.out.println(jsonStr.toJSONString());
}
@Test
public void mongodbquery() {
//查询所有
List<JSONObject> list = mongoTemplate.findAll(JSONObject.class, "user");
System.out.println(list.toString());
//List<TestUser> list = mongoTemplate.findAll(TestUser.class, "user");
//System.out.println(list.toString());
//根据id查询注意是文档的id不是数据行的id
//TestUser result2 = mongoTemplate.findById("1", TestUser.class,"user");
//System.out.println("查询结果:" + result2.toString());
//查询一条数据
Query query2 = new Query(Criteria.where("name").is("赵六"));
TestUser result3 = mongoTemplate.findOne(query2, TestUser.class,"user");
System.out.println("查询结果:" + result3.toString());
//模糊查询
Query query9 = new Query(Criteria.where("name").regex("张三"));
List<TestUser> result9 = mongoTemplate.find(query9, TestUser.class,"user");
System.out.println("查询结果:" + result9.toString());
//查询列表单个查询条件
Query query4 = new Query(Criteria.where("name").is(testUser.getName()));
List<TestUser> result4 = mongoTemplate.find(query4, TestUser.class,"user");
System.out.println("查询结果:" + result4.toString());
// 查询列表多个查询条件
Criteria criteriaUserName = Criteria.where("name").is(testUser.getName());
Criteria criteriaPassWord = Criteria.where("code").is(testUser.getCode());
// 创建条件对象将上面条件进行 AND 关联
Criteria criteria = new Criteria().andOperator(criteriaUserName, criteriaPassWord);
// 创建查询对象然后将条件对象添加到其中
Query query5 = new Query(criteria);
List<TestUser> result5 = mongoTemplate.find(query5, TestUser.class,"user");
System.out.println("查询结果:" + result5.toString());
// 创建条件对象将上面条件进行 OR 关联
Criteria criteria1 = new Criteria().orOperator(criteriaUserName, criteriaPassWord);
// 创建查询对象然后将条件对象添加到其中
Query query6 = new Query(criteria1);
List<TestUser> result6 = mongoTemplate.find(query6, TestUser.class,"user");
System.out.println("查询结果:" + result6.toString());
// 创建条件对象条件进行 in 关联
List<String> ids = Arrays.asList("1", "2");
// 创建条件
Criteria criteria7 = Criteria.where("id").in(ids);
// 创建查询对象然后将条件对象添加到其中
Query query7 = new Query(criteria7);
List<TestUser> result7 = mongoTemplate.find(query7, TestUser.class,"user");
System.out.println("查询结果:" + result7.toString());
//从第一行开始查询2条数据返回
Query query8 = new Query(Criteria.where("name").is(testUser.getName())).with(Sort.by("code")).limit(2).skip(0);
List<TestUser> result8 = mongoTemplate.find(query8, TestUser.class,"user");
System.out.println("查询结果:" + result8.toString());
Query query10 = new Query(Criteria.where("name").is(testUser.getName()));
long count = mongoTemplate.count(query10,"user");
System.out.println("统计结果:" + count);
}
}