zhaoxian 11 kuukautta sitten
vanhempi
commit
683e46d88c

+ 8 - 3
ruixuan-admin/src/main/resources/application-dev.yml

@@ -47,9 +47,9 @@ spring:
     druid:
       # 主库数据源
       master:
-#        url: jdbc:mysql://139.186.165.84:3306/ruixuan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-#        username: hcst
-#        password: hcst@2020
+        #        url: jdbc:mysql://139.186.165.84:3306/ruixuan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        #        username: hcst
+        #        password: hcst@2020
         url: jdbc:mysql://139.186.27.96:3390/ruixuan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
         username: data
         password: hcst@2021
@@ -137,6 +137,11 @@ spring:
         max-active: 8
         # #连接池最大阻塞等待时间(使用负值表示没有限制)
         max-wait: -1ms
+  data:
+    mongodb:
+      host: 192.168.0.99
+      port: 27017
+      database: admin
 
 # token配置
 token:

+ 11 - 0
ruixuan-common/pom.xml

@@ -156,6 +156,17 @@
             <artifactId>javax.servlet-api</artifactId>
         </dependency>
 
+        <!--mongodb-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-mongodb</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.mongodb</groupId>
+            <artifactId>mongodb-driver-sync</artifactId>
+            <version>4.10.2</version>
+        </dependency>
+
     </dependencies>
 
 </project>

+ 65 - 0
ruixuan-common/src/main/java/com/ruixuan/common/utils/mongodb/MongoDBDemo.java

@@ -0,0 +1,65 @@
+package com.ruixuan.common.utils.mongodb;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+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.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * MongoDB 工具类
+ */
+@Slf4j
+@Component
+public class MongoDBDemo {
+
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    /**
+     * 新增:
+     * 说一下insert和save的区别:
+     * 1)插入重复数据时:
+     *   insert: 若新增数据的主键已经存在,则会抛 DuplicateKeyException 异常提示主键重复,不保存当前数据。
+     *   save: 若新增数据的主键已经存在,则会对当前已经存在的数据进行修改操作。
+     * 2)批操作时:
+     *   insert: 可以一次性插入一整个列表,不用进行遍历操作,效率相对较高。
+     *   save: 需要遍历列表,进行一个个的插入,效率相对较低。
+     */
+    public void save() {
+        PeopleDemo people = new PeopleDemo("zhangsan", "zhangsan", "张三", "13889625648");
+        mongoTemplate.save(people);
+        log.info("save ok");
+    }
+
+    public void saveAll() {
+        List<PeopleDemo> list = new ArrayList();
+        PeopleDemo people = new PeopleDemo("zhangsan", "zhangsan2", "张三", "13312345678");
+        PeopleDemo people2 = new PeopleDemo("lisi", "lisi", "李四", "15512345678");
+        list.add(people);
+        list.add(people2);
+//        mongoTemplate.insertAll(list);
+        for (PeopleDemo demo : list) {
+            mongoTemplate.save(demo);
+        }
+        log.info("saveAll ok");
+    }
+
+    public void find() {
+        new PeopleDemo();
+        Criteria criteria = new Criteria();
+        criteria = Criteria.where("userId").is("zhangsan");
+        Query query = new Query(criteria);
+
+        List<PeopleDemo> list = mongoTemplate.find(query, PeopleDemo.class);
+        List<PeopleDemo> all = mongoTemplate.findAll(PeopleDemo.class);
+        System.out.println("条件筛选结果:" + list);
+        System.out.println("----All结果:" + all);
+        log.info("find ok");
+    }
+
+}

+ 40 - 0
ruixuan-common/src/main/java/com/ruixuan/common/utils/mongodb/PeopleDemo.java

@@ -0,0 +1,40 @@
+package com.ruixuan.common.utils.mongodb;
+
+import lombok.Data;
+
+/**
+ * TODO
+ *
+ * @ClassName User
+ * @Author ZHAOXA
+ * @date 2024-07-10 18:12
+ */
+@Data
+public class PeopleDemo {
+
+    private String _id;
+    /**
+     * 用户id
+     */
+    private String userId;
+
+    /**
+     * 姓名
+     */
+    private String userName;
+
+    /**
+     * 电话
+     */
+    private String Phone;
+
+    public PeopleDemo() {
+    }
+
+    public PeopleDemo(String id,String userId, String userName, String phone) {
+        this._id = id;
+        this.userId = userId;
+        this.userName = userName;
+        Phone = phone;
+    }
+}

+ 21 - 0
ruixuan-live/src/main/java/com/ruixuan/open/controller/KuaishouOpenPhotoListController.java

@@ -1,8 +1,11 @@
 package com.ruixuan.open.controller;
 
+import com.alibaba.fastjson.JSONObject;
+import com.mongodb.client.MongoClient;
 import com.ruixuan.common.core.controller.BaseController;
 import com.ruixuan.common.core.page.TableDataInfo;
 import com.ruixuan.common.utils.Result;
+import com.ruixuan.common.utils.mongodb.MongoDBDemo;
 import com.ruixuan.open.entity.KuaishouOpenPhotoList;
 import com.ruixuan.open.service.IKuaishouOpenPhotoCountService;
 import com.ruixuan.open.service.IKuaishouOpenPhotoListService;
@@ -11,6 +14,9 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
+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.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -95,4 +101,19 @@ public class KuaishouOpenPhotoListController extends BaseController {
         }
     }
 
+    @Autowired
+    private MongoDBDemo mongoDBDemo;
+
+    /**
+     * 获取用户公开信息
+     */
+    @GetMapping("/testMongoDB")
+    @ApiOperation(value = "testMongoDB")
+    public Result testMongoDB() {
+        mongoDBDemo.save();
+        mongoDBDemo.saveAll();
+        mongoDBDemo.find();
+        return Result.success();
+    }
+
 }