二、第一次整合

第一次整合

pojo

package com.lxj.pojo;

public class User {

    private String username;

    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

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

UserMapper

package com.lxj.mapper;

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

public interface UserMapper {

    User select(User user);

    int delete(@Param("username") String username);
}

UserController

package com.lxj.controller;

import com.lxj.pojo.User;
import com.lxj.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
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
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping("/login")
    public String login(User user, HttpSession session){
        System.out.println("进入控制器");
        //数据库检查
        user = userService.get(user);
        System.out.println("login..");
        if(user != null){

            session.setAttribute("SESSION_USER",user);
            //将用户信息存储到会话中
            return "user";
        }else{
            return "redirect:/login.jsp";
        }


    }

    @RequestMapping("/delete/{username}")
    @ResponseBody
    public Map<String, Integer> delete(@PathVariable("username")String username){
        System.out.println("delete..");
        Map<String ,Integer> map = new HashMap<>();

        boolean deleteSuc = userService.delete(username);
        Integer code = deleteSuc ? 2000:2003;
        map.put("code",code);
        return map;
    }
}

service接口

package com.lxj.service;

import com.lxj.pojo.User;

public interface UserService {

    /**
     * 根据user信息去检查数据库是否存在该用户
     * @param user
     * @return
     */
    User get(User user);

    /**
     *
     * @param username
     * @return
     */
    boolean delete(String username);
}

service实现类

package com.lxj.service.impl;

import com.lxj.mapper.UserMapper;
import com.lxj.pojo.User;
import com.lxj.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service("userService")
public class UserServiceImpl implements UserService {

    //注入mapper
    @Autowired
    private UserMapper userMapper;

    @Override
    public User get(User user) {
        //提前检查是否为空


        return userMapper.select(user);
    }

    @Override
    public boolean delete(String username) {

        int row = userMapper.delete(username);
        return row == 1 ? true:false;
    }
}

UserMapper映射文件

<?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.lxj.mapper.UserMapper">

    <select id="select" resultType="com.lxj.pojo.User">
        select * from t_user
        <where>
          <if test="username != null">
              and username = #{username}
          </if>
          <if test="password != null">
              and password = #{password}
          </if>
        </where>
    </select>
    
    <delete id="delete">
        delete from t_user
        <where>
            <if test="username != null">
                and username = #{username}
            </if>
        </where>
    </delete>

</mapper>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容