SSM框架08 请求以及处理流程01

1、配置文件

将配置文件拷贝下来,配置到当前的项目环境中,用maven管理依赖
需要找依赖 去maven网址 https://mvnrepository.com/

2、建立对应的pojo类

标准的pojo类 需要满足以下几个条件
1、所有成员变量需要使用private关键词私有化
2、为每一个成员变量编写get set方法
3、编写一个无参构造方法和全参构造方法
4、重写tostring方法
5、继承Serializable实现序列化

3、建立Mapper接口

UserMapper.xml

package com.qst.mapper;

import com.qst.pojo.User;
import org.apache.ibatis.annotations.Param;


public interface UserMapper {
    public User finduser(int id);

    public User finduserByName(String regusername);

    public int addUser(@Param("username") String username,@Param("password") String password);

    public User CheckLogin(@Param("username") String username,@Param("password") String password);
}

4、编写映射配置文件(在这里写sql语句)

UserMapper.xml(与接口类名字相同)

<?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">
<!--映射约束-->
<!-- 映射文件,存放SQL
	namespace是映射文件的唯一标志 在代码中需要被使用
-->
<!--映射标签 在这里写sql语句-->
<!--namespace 必须是对应接口的全限定类名-->
<mapper namespace="com.qst.mapper.UserMapper">
    <select id="finduser" parameterType="int" resultType="com.qst.pojo.User">
        select * from user where id=#{id}
    </select>
    <select id="finduserByName" parameterType="java.lang.String" resultType="User">
        select * from user where username=#{username}
    </select>

    <insert id="addUser">
        insert into user (id,username,password,role) values(null,#{username},#{password},1)
    </insert>
    <select id="CheckLogin" resultType="User">
        select * from user where username=#{username} and password=#{password}
    </select>



</mapper>

5、编写控制类

UserController.java

package com.qst.controller;

import com.qst.service.UserService;

import com.qst.util.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/reg")
    public String ToReg(){
        return "register";
    }

    @RequestMapping("/login")
    public String Tologin(){
        return "login";
    }

    @PostMapping("/checkname")
    @ResponseBody
    public Map<String,Object> checkName(String regusername){
        Map<String,Object>  map=userService.checkUserName(regusername);

        return map;
    }

    @PostMapping("/checkLohinname")
    @ResponseBody
    public Map<String,Object> checkLoginName(String username){
        Map<String,Object>  map=userService.checkUserName(username);

        return map;
    }

    @PostMapping("/reguser")
    @ResponseBody
    public JsonResult RegUser(String regusername,String regpassword){
        JsonResult jsonResult=userService.addUser(regusername,regpassword);
        return jsonResult;

    }

    @PostMapping("/doLogin")
    @ResponseBody
    public JsonResult DoLogin(String username,String password){
        JsonResult jsonResult=userService.doLogin(username,password);
        return jsonResult;

    }
}

6、编写业务层接口类

UserService.java

package com.qst.service;

import com.qst.pojo.User;
import com.qst.util.JsonResult;

import java.util.Map;

public interface UserService {
    Map<String,Object> checkUserName(String regusername);

    JsonResult addUser(String regusername, String regpassword);

    JsonResult doLogin(String username, String password);
}

7、编写业务层 实现类

UserServiceImpl.java

package com.qst.serviceimpl;


import com.qst.exception.ServiceException;
import com.qst.mapper.UserMapper;
import com.qst.pojo.User;
import com.qst.service.UserService;
import com.qst.util.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;


@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public Map<String, Object> checkUserName(String regusername) {
        Map<String,Object> map=new HashMap<>();
        User user = null;
        if (user==null&&(regusername==null||regusername.equals(""))){
            map.put("state",203);
            map.put("msg","请输入用户名");
            return map;
        }
        user = userMapper.finduserByName(regusername);

        if (user==null&&regusername!=null&!regusername.equals("")){
            map.put("state",202);
            map.put("msg","用户名可以使用");
        }else{
            map.put("state",201);
            map.put("msg","用户名已存在");
        }
        return map;
    }

    @Override
    public JsonResult addUser(String regusername, String regpassword) {

        User user=userMapper.finduserByName(regusername);

        if (regusername==""||regusername.equals("")){
            throw new ServiceException("用户名不能为空");
//            return new JsonResult(2,"用户名不能为空");
        }
        if (regpassword==""||regpassword.equals("")){
            throw new ServiceException("密码不能为空");
//            return new JsonResult(2,"密码不能为空");
        }
        if (user!=null){
            throw new ServiceException("该用户已经被注册");
//            return new JsonResult(2,"该用户已经被注册");
        }
        int i = userMapper.addUser(regusername, regpassword);
        if (i==1){
            return new JsonResult(1,"注册成功");
        }else{
            return new JsonResult(2,"注册失败");
        }

    }

    @Override
    public JsonResult doLogin(String username, String password) {
        User user = userMapper.CheckLogin(username, password);
        if (user==null){
            throw new ServiceException("用户名或密码错误");
        }else{
            if (user.getRole()==0){
                return new JsonResult(100,"管理员登录成功",user);
            }
            return new JsonResult(1,"用户登录成功",user);

        }

    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值