diff --git a/.gitignore b/.gitignore
index 76b946f..4d2be69 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
.idea
-.target
\ No newline at end of file
+/target
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 3555600..2e264f7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,5 +52,12 @@
lombok
provided
+
+
+ com.github.xiaoymin
+ knife4j-openapi3-jakarta-spring-boot-starter
+ 4.4.0
+
+
diff --git a/src/main/java/cn/hezhaohui/pc/controller/UserController.java b/src/main/java/cn/hezhaohui/pc/controller/UserController.java
new file mode 100644
index 0000000..0a62e03
--- /dev/null
+++ b/src/main/java/cn/hezhaohui/pc/controller/UserController.java
@@ -0,0 +1,50 @@
+package cn.hezhaohui.pc.controller;
+
+import cn.hezhaohui.pc.entity.User;
+import cn.hezhaohui.pc.service.UserService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/users")
+@Tag(name = "用户")
+public class UserController {
+ @Resource
+ private UserService userService;
+
+ @GetMapping
+ @Operation(summary = "列出所有用户")
+ public List listAll() {
+ return userService.listAll();
+ }
+
+ @GetMapping("/{id}")
+ @Operation(summary = "通过id查找用户")
+ public User getById(@PathVariable Long id) {
+ return userService.getById(id);
+ }
+
+ @PostMapping
+ @Operation(summary = "创建用户")
+ public void saveUser(@RequestBody User user) {
+ userService.saveUser(user);
+ }
+
+ @PutMapping
+ @Operation(summary = "更新用户")
+ public void updateUser(@RequestBody User user) {
+ userService.updateUser(user);
+ }
+
+ @DeleteMapping("/{id}")
+ public void deleteUser(@PathVariable Long id) {
+ userService.deleteUser(id);
+ }
+
+
+
+}
diff --git a/src/main/java/cn/hezhaohui/pc/entity/User.java b/src/main/java/cn/hezhaohui/pc/entity/User.java
new file mode 100644
index 0000000..03535b5
--- /dev/null
+++ b/src/main/java/cn/hezhaohui/pc/entity/User.java
@@ -0,0 +1,19 @@
+package cn.hezhaohui.pc.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+@TableName("users")
+public class User {
+ @TableId(type = IdType.AUTO)
+ private Long id;
+ private String username;
+ private String password;
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createdAt;
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updatedAt;
+}
diff --git a/src/main/java/cn/hezhaohui/pc/mapper/UserMapper.java b/src/main/java/cn/hezhaohui/pc/mapper/UserMapper.java
new file mode 100644
index 0000000..74bf67d
--- /dev/null
+++ b/src/main/java/cn/hezhaohui/pc/mapper/UserMapper.java
@@ -0,0 +1,9 @@
+package cn.hezhaohui.pc.mapper;
+
+import cn.hezhaohui.pc.entity.User;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface UserMapper extends BaseMapper {
+}
diff --git a/src/main/java/cn/hezhaohui/pc/service/UserService.java b/src/main/java/cn/hezhaohui/pc/service/UserService.java
new file mode 100644
index 0000000..7b12444
--- /dev/null
+++ b/src/main/java/cn/hezhaohui/pc/service/UserService.java
@@ -0,0 +1,14 @@
+package cn.hezhaohui.pc.service;
+
+import cn.hezhaohui.pc.entity.User;
+
+import java.util.List;
+
+public interface UserService {
+ List listAll();
+ User getById(Long id);
+ void saveUser(User user);
+ void updateUser(User user);
+ void deleteUser(Long id);
+
+}
diff --git a/src/main/java/cn/hezhaohui/pc/service/impl/UserServiceImpl.java b/src/main/java/cn/hezhaohui/pc/service/impl/UserServiceImpl.java
new file mode 100644
index 0000000..7d6ab32
--- /dev/null
+++ b/src/main/java/cn/hezhaohui/pc/service/impl/UserServiceImpl.java
@@ -0,0 +1,46 @@
+package cn.hezhaohui.pc.service.impl;
+
+import cn.hezhaohui.pc.entity.User;
+import cn.hezhaohui.pc.mapper.UserMapper;
+import cn.hezhaohui.pc.service.UserService;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class UserServiceImpl implements UserService {
+ @Resource
+ private UserMapper userMapper;
+
+ @Override
+ public List listAll() {
+ return userMapper.selectList(null);
+ }
+
+ @Override
+ public User getById(Long id) {
+ return userMapper.selectById(id);
+ }
+
+ @Override
+ public void saveUser(User user) {
+ LocalDateTime now = LocalDateTime.now();
+ user.setCreatedAt(now);
+ user.setUpdatedAt(now);
+ userMapper.insert(user);
+ }
+
+ @Override
+ public void updateUser(User user) {
+ LocalDateTime now = LocalDateTime.now();
+ user.setUpdatedAt(now);
+ userMapper.updateById(user);
+ }
+
+ @Override
+ public void deleteUser(Long id) {
+ userMapper.deleteById(id);
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index d48352e..bfd38d1 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -3,4 +3,23 @@ spring:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: dn293830
- url: jdbc:mysql://47.121.181.112:3306/pc
\ No newline at end of file
+ url: jdbc:mysql://47.121.181.112:3306/pc
+
+
+# springdoc-openapi项目配置
+springdoc:
+ swagger-ui:
+ path: /swagger-ui.html
+ tags-sorter: alpha
+ operations-sorter: alpha
+ api-docs:
+ path: /v3/api-docs
+ group-configs:
+ - group: 'default'
+ paths-to-match: '/**'
+ packages-to-scan: cn.hezhaohui.pc.controller
+# knife4j的增强配置,不需要增强可以不配
+knife4j:
+ enable: true
+ setting:
+ language: zh_cn
\ No newline at end of file