From 88bd9c5e0e3584956c6f280c260b3a883539fdb6 Mon Sep 17 00:00:00 2001
From: lvleigang <957075182@qq.com>
Date: Thu, 22 Aug 2024 08:51:20 +0800
Subject: [PATCH] =?UTF-8?q?mongodb=E6=B5=8B=E8=AF=95=E7=B1=BB=E4=BD=BF?=
 =?UTF-8?q?=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../test/java/com/hzya/frame/temButtom.java   | 129 ++++++++++++++----
 1 file changed, 104 insertions(+), 25 deletions(-)

diff --git a/buildpackage/src/test/java/com/hzya/frame/temButtom.java b/buildpackage/src/test/java/com/hzya/frame/temButtom.java
index b146f94a..0285be5d 100644
--- a/buildpackage/src/test/java/com/hzya/frame/temButtom.java
+++ b/buildpackage/src/test/java/com/hzya/frame/temButtom.java
@@ -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() {
+    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");
+        }
         //新增数据
-        JSONObject jsonStr = new JSONObject();
-        jsonStr.put("id","1");
-        jsonStr.put("name","张三");
-        jsonStr.put("code","001");
-        mongoTemplate.insert(jsonStr,"user");
-        System.out.println(jsonStr.toJSONString());
-    }
+        //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);
+
     }
 
-
-
-
 }