BeiCunNan пре 3 година
родитељ
комит
4eea95d1b9

+ 5 - 1
pom.xml

@@ -26,7 +26,6 @@
             <artifactId>mybatis-spring-boot-starter</artifactId>
             <version>2.2.2</version>
         </dependency>
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-devtools</artifactId>
@@ -38,6 +37,10 @@
             <artifactId>mysql-connector-java</artifactId>
             <scope>runtime</scope>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-jdbc</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
@@ -48,6 +51,7 @@
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
+
     </dependencies>
 
     <build>

+ 41 - 2
src/main/java/com/bcn/login_mybatis_demo/controller/UserController.java

@@ -1,5 +1,44 @@
-package com.bcn.login_mybatis_demo.controller;/**
+package com.bcn.login_mybatis_demo.controller;
+
+import com.bcn.login_mybatis_demo.pojo.User;
+import com.bcn.login_mybatis_demo.service.serviceImpl.UserServiceImpl;
+import com.bcn.login_mybatis_demo.util.Result;
+import com.bcn.login_mybatis_demo.util.ResultUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
  * @author 大白菜
  * @date Created in 2022/9/26 14:56
- */public class UserController {
+ */
+@SuppressWarnings({"all"})
+@RestController
+@RequestMapping("/user")
+public class UserController {
+    @Autowired
+    UserServiceImpl userServiceImpl;
+
+    @RequestMapping("/login")
+    public Result login(@RequestParam String uact, @RequestParam String upwd) {
+        String msg = userServiceImpl.loginService(uact,upwd);
+        if(("SUCCESS").equals(msg)){
+            return ResultUtil.success("登录成功");
+        }else{
+            return ResultUtil.error(msg);
+        }
+    }
+
+    @RequestMapping("/register")
+    public Result login(@RequestBody User user) {
+        String msg = userServiceImpl.registerService(user);
+        if(("SUCCESS").equals(msg)){
+            return ResultUtil.success("注册成功");
+        }else{
+            return ResultUtil.error(msg);
+        }
+    }
+
 }

+ 16 - 2
src/main/java/com/bcn/login_mybatis_demo/mapper/UserMapper.java

@@ -1,5 +1,19 @@
-package com.bcn.login_mybatis_demo.mapper;/**
+package com.bcn.login_mybatis_demo.mapper;
+
+import com.bcn.login_mybatis_demo.pojo.User;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
  * @author 大白菜
  * @date Created in 2022/9/26 14:56
- */public interface UserMapper {
+ */
+@Mapper
+@Repository
+public interface UserMapper {
+    User selectUserByUact(String uact);
+
+    String selectUpwdByUact(String uact);
+
+    void insertUser(User user);
 }

+ 22 - 2
src/main/java/com/bcn/login_mybatis_demo/pojo/User.java

@@ -1,5 +1,25 @@
-package com.bcn.login_mybatis_demo.pojo;/**
+package com.bcn.login_mybatis_demo.pojo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
  * @author 大白菜
  * @date Created in 2022/9/26 14:56
- */public class User {
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class User {
+    public Integer uid;
+    public String uname;
+    public String uaccount;
+    private String upassword;
+
+    public User(String uname, String uaccount, String upassword) {
+        this.uname = uname;
+        this.uaccount = uaccount;
+        this.upassword = upassword;
+    }
 }

+ 12 - 2
src/main/java/com/bcn/login_mybatis_demo/service/UserSerivce.java

@@ -1,5 +1,15 @@
-package com.bcn.login_mybatis_demo.service;/**
+package com.bcn.login_mybatis_demo.service;
+
+import com.bcn.login_mybatis_demo.pojo.User;
+
+/**
  * @author 大白菜
  * @date Created in 2022/9/26 14:56
- */public interface UserSerivce {
+ */
+public interface UserSerivce {
+
+    public String loginService(String uact, String upwd);
+
+    public String registerService(User user);
+
 }

+ 47 - 2
src/main/java/com/bcn/login_mybatis_demo/service/serviceImpl/UserServiceImpl.java

@@ -1,5 +1,50 @@
-package com.bcn.login_mybatis_demo.service;/**
+package com.bcn.login_mybatis_demo.service.serviceImpl;
+
+import com.bcn.login_mybatis_demo.mapper.UserMapper;
+import com.bcn.login_mybatis_demo.pojo.User;
+import com.bcn.login_mybatis_demo.service.UserSerivce;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
  * @author 大白菜
  * @date Created in 2022/9/26 14:56
- */public class UserServiceImpl {
+ */
+@Service
+public class UserServiceImpl implements UserSerivce {
+    @Autowired
+    UserMapper userMapper;
+
+    @Override
+    public String loginService(String uact, String upwd) {
+        User user = userMapper.selectUserByUact(uact);
+        if (user!=null){
+            String userEpwd= user.getUpassword();
+            if(upwd.equals(userEpwd)){
+                return "SUCCESS";
+            }else{
+                return "密码错误";
+            }
+        }
+        return "账号错误";
+    }
+
+
+    @Override
+    public String registerService(User user) {
+        User userE=userMapper.selectUserByUact(user.getUaccount());
+        if(userE==null){
+            if("".equals(user.getUpassword())){
+                return "密码为空";
+            }else if("".equals(user.getUname())){
+                return "用户昵称为空";
+            }else{
+                userMapper.insertUser(user);
+                return "SUCCESS";
+            }
+        }else{
+            return "此用户已被注册";
+        }
+    }
+
 }

+ 15 - 2
src/main/java/com/bcn/login_mybatis_demo/util/Result.java

@@ -1,5 +1,18 @@
-package com.bcn.login_mybatis_demo.util;/**
+package com.bcn.login_mybatis_demo.util;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
  * @author 大白菜
  * @date Created in 2022/9/26 19:54
- */public class Result {
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Result<T> {
+    private Integer code;
+    private String msg;
+    private T data;
 }

+ 28 - 2
src/main/java/com/bcn/login_mybatis_demo/util/ResultCode.java

@@ -1,5 +1,31 @@
-package com.bcn.login_mybatis_demo.util;/**
+package com.bcn.login_mybatis_demo.util;
+
+/**
  * @author 大白菜
  * @date Created in 2022/9/26 19:50
- */public enum ResultCode {
+ */
+
+public enum ResultCode {
+    // 自定义枚举内容
+    SUCCESS(200, "Success"),
+
+    ERROR(-100, "Error");
+
+
+    private Integer code;
+    private String msg;
+
+    ResultCode(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
 }

+ 34 - 2
src/main/java/com/bcn/login_mybatis_demo/util/ResultUtil.java

@@ -1,5 +1,37 @@
-package com.bcn.login_mybatis_demo.util;/**
+package com.bcn.login_mybatis_demo.util;
+
+/**
  * @author 大白菜
  * @date Created in 2022/9/26 19:55
- */public class ResultUtil {
+ */
+public class ResultUtil {
+    /**
+     * 成功且带数据
+     **/
+    public static Result success(Object object) {
+        Result result = new Result();
+        result.setCode(ResultCode.SUCCESS.getCode());
+        result.setMsg(ResultCode.SUCCESS.getMsg());
+        result.setData(object);
+        return result;
+    }
+
+    /**
+     * 成功但不带数据
+     **/
+    public static Result success() {
+
+        return success(null);
+    }
+
+    /**
+     * 失败
+     **/
+    public static Result error(Object object) {
+        Result result = new Result();
+        result.setCode(ResultCode.ERROR.getCode());
+        result.setMsg(ResultCode.ERROR.getMsg());
+        result.setData(object);
+        return result;
+    }
 }

+ 22 - 0
src/main/resources/application.yml

@@ -1 +1,23 @@
+server:
+  port: 9091
 
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    username: root
+    password: 123456
+    url: jdbc:mysql://localhost:3306/login?serverTimezone=UTC
+
+mybatis:
+  type-aliases-package: com.bcn.login_mybatis_demo.pojo
+  mapper-locations: classpath:mapper/*.xml
+  # Turn on camelCase
+  configuration:
+    map-underscore-to-camel-case: true
+
+# Show sql
+logging:
+  level:
+    com:
+      example:
+        mapper : debug

+ 21 - 3
src/main/resources/mapper/UserMapper.xml

@@ -1,6 +1,24 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.bcn. .mapper">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.bcn.login_mybatis_demo.mapper.UserMapper">
+
+    <insert id="insertUser">
+        insert into user
+        values (null, #{uname}, #{uaccount}, #{upassword})
+    </insert>
+
+    <select id="selectUserByUact" resultType="com.bcn.login_mybatis_demo.pojo.User">
+        select *
+        from user
+        where uaccount = #{uact}
+    </select>
+
+    <select id="selectUpwdByUact" resultType="java.lang.String">
+        select upassword
+        from user
+        where uaccount = #{uact}
+    </select>
+
 </mapper>