spring-boot入門(三)——登錄接口

在pow.xml文件中導入依賴

<!--導入數據庫驅動-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

<!--引入 mybatis-spring-boot-starter 的依賴-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version>
</dependency>

resource下的application.yml文件添加數據庫配置

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://127.0.0.1:3306/spring_boot

文件目錄


mysql數據庫字段

bean -> user 寫完private String user_name; private String password;後鼠標右擊Generate自動創建get和set

package com.example.demo.bean;

public class User {
    private String user_name;
    private String password;

    public String getUser_name() {
        return user_name;
    }

    public void setUser_name(String user_name) {
        this.user_name = user_name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

loginController:method = RequestMethod.POST使用post請求

package com.example.demo.controller;

import com.example.demo.bean.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.Map;

@Controller
public class loginController{
    @Autowired
    private UserService userService;

    @ResponseBody
    @RequestMapping(value = "/loginHandle", method = RequestMethod.POST)
    public Map<String, Object> loginHandle(User user, HttpSession session) {
        Map<String, Object> map = new HashMap<>();
        User loginUser = userService.getByUserNameAndPassword(user);
        if (loginUser != null) {
            session.setAttribute("loginUser", loginUser);
            System.out.println("loginUser:" + loginUser);
            map.put("msg", "登錄成功");
        } else {
            map.put("msg", "用戶名或密碼錯誤");
        }
        return map;
    }
}

UserMapper

package com.example.demo.mapper;

import com.example.demo.bean.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface UserMapper {
    @Select("select * from usertest where user_name = #{user_name,jdbcType=VARCHAR} and password = #{password,jdbcType=VARCHAR}")
    User getByUserNameAndPassword(User user);
}

UserService

package com.example.demo.service;

import com.example.demo.bean.User;

public interface UserService {
    public User getByUserNameAndPassword(User user);
}

UserServiceImpl

package com.example.demo.service.impl;

import com.example.demo.bean.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service("userService")
public class UserServiceImpl implements UserService {
    @Resource
    UserMapper userMapper;

    @Override
    public User getByUserNameAndPassword(User user) {
        User User = userMapper.getByUserNameAndPassword(user);
        return User;
    }
}

重啓後瀏覽器輸入http://localhost:8080/loginHandle請求的執行順序表示層LoginController -> 業務邏輯層UserService -> UserServiceImpl -> 數據訪問層UserMapper

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章