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