From d1c8437b97406c2643bdf82c9cda4b60c0ae7667 Mon Sep 17 00:00:00 2001 From: sige Date: Tue, 14 Nov 2023 19:42:21 +0800 Subject: [PATCH] add database connection --- pom.xml | 81 ++++++++++++---------- .../dreamworks/boditech/BoditechApplication.java | 6 +- .../boditech/controller/BaseController.java | 23 ++++++ .../boditech/controller/DeviceController.java | 19 +++++ .../boditech/controller/TestController.java | 4 ++ .../boditech/controller/UserController.java | 54 +++++++++++++++ .../boditech/controller/entity/ApiResponse.java | 6 ++ .../java/com/dreamworks/boditech/entity/User.java | 9 +++ .../com/dreamworks/boditech/mapper/UserMapper.java | 21 ++++++ src/main/resources/application.properties | 1 - src/main/resources/application.yml | 6 ++ 11 files changed, 190 insertions(+), 40 deletions(-) create mode 100644 src/main/java/com/dreamworks/boditech/controller/BaseController.java create mode 100644 src/main/java/com/dreamworks/boditech/controller/DeviceController.java create mode 100644 src/main/java/com/dreamworks/boditech/controller/TestController.java create mode 100644 src/main/java/com/dreamworks/boditech/controller/UserController.java create mode 100644 src/main/java/com/dreamworks/boditech/controller/entity/ApiResponse.java create mode 100644 src/main/java/com/dreamworks/boditech/entity/User.java create mode 100644 src/main/java/com/dreamworks/boditech/mapper/UserMapper.java delete mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/application.yml diff --git a/pom.xml b/pom.xml index 60ddf6a..b533a2b 100644 --- a/pom.xml +++ b/pom.xml @@ -1,41 +1,50 @@ - - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 3.1.5 - - - com.dreamworks - boditech - 0.0.1-SNAPSHOT - boditech - boditech - - 17 - - - - org.springframework.boot - spring-boot-starter-web - + + 4.0.0 + com.dreamworks + boditech + 0.0.1-SNAPSHOT + boditech + boditech + + + org.springframework.boot + spring-boot-starter-parent + 3.1.5 + + - - org.springframework.boot - spring-boot-starter-test - test - - + + 17 + - - - - org.springframework.boot - spring-boot-maven-plugin - - - + + + org.springframework.boot + spring-boot-starter-web + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.2 + + + com.mysql + mysql-connector-j + runtime + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + diff --git a/src/main/java/com/dreamworks/boditech/BoditechApplication.java b/src/main/java/com/dreamworks/boditech/BoditechApplication.java index 0529915..d9f8989 100644 --- a/src/main/java/com/dreamworks/boditech/BoditechApplication.java +++ b/src/main/java/com/dreamworks/boditech/BoditechApplication.java @@ -3,7 +3,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class BoditechApplication { - public static void main(String[] args) { - SpringApplication.run(BoditechApplication.class, args); - } + public static void main(String[] args) { + SpringApplication.run(BoditechApplication.class, args); + } } diff --git a/src/main/java/com/dreamworks/boditech/controller/BaseController.java b/src/main/java/com/dreamworks/boditech/controller/BaseController.java new file mode 100644 index 0000000..aaf657b --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/controller/BaseController.java @@ -0,0 +1,23 @@ +package com.dreamworks.boditech.controller; +import com.dreamworks.boditech.controller.entity.ApiResponse; +public class BaseController { + protected ApiResponse success(Object data ) { + ApiResponse response = new ApiResponse(); + response.success = true; + response.message = "OK"; + response.data = data; + return response; + } + + protected ApiResponse success() { + return this.success(null); + } + + protected ApiResponse error( String message ) { + ApiResponse response = new ApiResponse(); + response.success = false; + response.message = message; + response.data = null; + return response; + } +} diff --git a/src/main/java/com/dreamworks/boditech/controller/DeviceController.java b/src/main/java/com/dreamworks/boditech/controller/DeviceController.java new file mode 100644 index 0000000..7609d79 --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/controller/DeviceController.java @@ -0,0 +1,19 @@ +package com.dreamworks.boditech.controller; +import com.dreamworks.boditech.controller.entity.ApiResponse; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.ResponseBody; +@Controller +public class DeviceController extends BaseController { + @ResponseBody + @PostMapping("/api/device/start") + public ApiResponse start() { + return this.success(); + } + + @ResponseBody + @PostMapping("/api/device/stop") + public ApiResponse stop() { + return this.success(); + } +} diff --git a/src/main/java/com/dreamworks/boditech/controller/TestController.java b/src/main/java/com/dreamworks/boditech/controller/TestController.java new file mode 100644 index 0000000..cb658ca --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/controller/TestController.java @@ -0,0 +1,4 @@ +package com.dreamworks.boditech.controller; + +public class TestController { +} diff --git a/src/main/java/com/dreamworks/boditech/controller/UserController.java b/src/main/java/com/dreamworks/boditech/controller/UserController.java new file mode 100644 index 0000000..5cfc8e3 --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/controller/UserController.java @@ -0,0 +1,54 @@ +package com.dreamworks.boditech.controller; +import com.dreamworks.boditech.controller.entity.ApiResponse; +import com.dreamworks.boditech.entity.User; +import com.dreamworks.boditech.mapper.UserMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +@Controller +public class UserController extends BaseController { + @Resource + UserMapper userMapper; + + @ResponseBody + @PostMapping("/api/user/login") + public ApiResponse login( String name, String pin ) { + User user = userMapper.findByName(name); + if ( null == user || !user.pin.equals(pin) ) { + return this.error("无效的用户名或PIN"); + } + return this.success(user); + } + + @ResponseBody + @PostMapping("/api/user/pin-update") + public ApiResponse pinUpdate( int id, String pin ) { + User user = userMapper.findById(id); + if ( null == user ) { + return this.error("无效的用户id : " + id); + } + user.pin = pin; + int changeCount = userMapper.update(user); + if ( 1 != changeCount ) { + return this.error("数据更新异常"); + } + return this.success(); + } + + @ResponseBody + @PostMapping("/api/user/delete") + public ApiResponse delete( int id ) { + User user = userMapper.findById(id); + if ( null == user ) { + return this.error("无效的用户id : " + id); + } + + int deleteCount = userMapper.delete(user); + if ( 1 != deleteCount ) { + return this.error("数据删除异常"); + } + return this.success(); + } +} diff --git a/src/main/java/com/dreamworks/boditech/controller/entity/ApiResponse.java b/src/main/java/com/dreamworks/boditech/controller/entity/ApiResponse.java new file mode 100644 index 0000000..f8404e1 --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/controller/entity/ApiResponse.java @@ -0,0 +1,6 @@ +package com.dreamworks.boditech.controller.entity; +public class ApiResponse { + public boolean success ; + public String message; + public Object data; +} diff --git a/src/main/java/com/dreamworks/boditech/entity/User.java b/src/main/java/com/dreamworks/boditech/entity/User.java new file mode 100644 index 0000000..5849f6d --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/entity/User.java @@ -0,0 +1,9 @@ +package com.dreamworks.boditech.entity; +public class User { + public int id; + public String name; + public String pin; + public int isAdmin; + public int createdAt; + public int createdBy; +} diff --git a/src/main/java/com/dreamworks/boditech/mapper/UserMapper.java b/src/main/java/com/dreamworks/boditech/mapper/UserMapper.java new file mode 100644 index 0000000..8a9b202 --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/mapper/UserMapper.java @@ -0,0 +1,21 @@ +package com.dreamworks.boditech.mapper; +import com.dreamworks.boditech.entity.User; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +@Mapper +public interface UserMapper { + @Select("SELECT * FROM bdt_users WHERE id=#{id}") + User findById(int id); + + @Select("SELECT * FROM bdt_users WHERE name=#{name} LIMIT 1") + User findByName(String name); + + @Update("UPDATE bdt_users SET name=#{name}, pin=#{pin}, isAdmin=#{isAdmin} WHERE id=#{id}") + int update(User user); + + @Delete("DELETE FROM bdt_users WHERE id=#{id}") + int delete(User user); +} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index 8b13789..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..ea83df1 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,6 @@ +spring: + datasource: + url: jdbc:mysql://localhost:3306/boditech + username : root + password: 123456 + driver-class-name: com.mysql.cj.jdbc.Driver \ No newline at end of file