浏览代码

用户增删改查基本操作

zhangyang 2 年之前
父节点
当前提交
e285c9f53e

+ 32 - 22
generic-parent/pom.xml

@@ -85,25 +85,37 @@
             <artifactId>hibernate-validator</artifactId>
         </dependency>
 
-        <!--Nacos依赖-->
-<!--        <dependency>-->
-<!--            <groupId>com.alibaba.cloud</groupId>-->
-<!--            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->
-<!--            <version>2.2.6.RELEASE</version>-->
-<!--            &lt;!&ndash;openfeign里面有复载均衡,所以这里必须注释掉,不然会冲突&ndash;&gt;-->
-<!--            <exclusions>-->
-<!--                <exclusion>-->
-<!--                    <groupId>org.springframework.cloud</groupId>-->
-<!--                    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>-->
-<!--                </exclusion>-->
-<!--            </exclusions>-->
-<!--        </dependency>-->
-
-<!--        <dependency>-->
-<!--            <groupId>com.alibaba.cloud</groupId>-->
-<!--            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>-->
-<!--            <version>2.2.6.RELEASE</version>-->
-<!--        </dependency>-->
+<!--        Nacos依赖-->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+            <version>2.2.6.RELEASE</version>
+            <!--openfeign里面有复载均衡,所以这里必须注释掉,不然会冲突-->
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework.cloud</groupId>
+                    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+            <version>2.2.6.RELEASE</version>
+        </dependency>
+
+        <!-- https://mvnrepository.com/artifact/io.swagger/swagger-annotations -->
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-annotations</artifactId>
+            <version>1.6.2</version>
+        </dependency>
 
         <!--openfeign依赖 Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务-->
         <dependency>
@@ -122,11 +134,9 @@
             <artifactId>lombok</artifactId>
             <version>1.18.20</version>
         </dependency>
-
-
-
     </dependencies>
 
+
     <dependencyManagement>
         <!--springBoot的核心依赖,也是继承,可插拔机制,只会加载配置的依赖-->
         <dependencies>

+ 45 - 9
generic-parent/user/src/main/java/com/example/user/controller/UserController.java

@@ -2,24 +2,60 @@ package com.example.user.controller;
 
 
 import com.example.user.domain.User;
+import com.mongodb.client.result.DeleteResult;
+import com.mongodb.client.result.UpdateResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
 @RestController
 @RequestMapping("/user")
+@Api("用户接口")
 public class UserController {
 
     @Autowired
     MongoTemplate mongoTemplate;
 
-    //@PostMapping("/save")
-    public User add(){
-        User user = new User();
-        user.setUsername("zhangyang");
-        System.out.println(mongoTemplate.insert(user));
-        return mongoTemplate.insert(user);
+    @PostMapping("/save")
+    @ApiOperation("新增用户")
+    public User add(@Validated @RequestBody User user){
+        return mongoTemplate.insert( user );
     }
+
+    @ApiOperation("根据id删除用户")
+    @DeleteMapping("/remove/{userIds}")
+    public DeleteResult delete(@PathVariable String[] userIds){
+
+        Query query = new Query(Criteria.where("userId").is(userIds) );
+        return mongoTemplate.remove(query,User.class);
+    }
+
+    @ApiOperation("根据userId查询内容")
+    @GetMapping("/{userId}")
+    public User get(@PathVariable Long userId){
+        Query query = new Query(Criteria.where("userId").is(userId) );
+        return (User) mongoTemplate.find(query,User.class);
+    }
+
+    @ApiOperation("修改用户")
+    @PutMapping("/update")
+    public UpdateResult edit(@RequestBody User user){
+        Query query = new Query(Criteria.where("userId").is(user.get_id()) );
+        Update update = new Update();
+        if(user.getUsername() != null && user.getUsername() != ""){
+            update.set("username",user.getUsername());
+        }
+        if(user.getAge() != null){
+            update.set("age",user.getAge());
+        }
+        return mongoTemplate.upsert(query,update,User.class);
+    }
+
+
 }

+ 8 - 0
generic-parent/user/src/main/resources/application.yml

@@ -1,5 +1,13 @@
+server:
+  port: 10010
 #数据库配置
 spring:
   data:
     mongodb:
       uri: mongodb://hitsheep:hitsheep@localhost:27717/hitsheep
+  cloud:
+    nacos:
+      server-addr: 127.0.0.1:8868
+      discovery:
+        username: nacos
+        password: nacos