文章目录
前言
山东医院笔记
1.实现登录
login.hml
1.由ajax发送请求的url和数据data给UserController
url:/login
data:{
uLoginname:uLoginname,
uPassword:uPassword
}
UserMapper.xml
需要查询到的是对象,所以SQL语句的书写形式不太正常,通过对象携带所有根据条件查询到的所有数据
<!--添加的 要查询的是对象-->
<select id="selectUser" parameterType="com.yhp.bean.User" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from user
where
u_loginName=#{uLoginname} and u_passWord=#{uPassword}
</select>
<?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.yhp.dao.UserMapper">
<resultMap id="BaseResultMap" type="com.yhp.bean.User">
<id column="u_id" jdbcType="INTEGER" property="uId" />
<result column="u_loginName" jdbcType="VARCHAR" property="uLoginname" />
<result column="u_passWord" jdbcType="VARCHAR" property="uPassword" />
<result column="u_trueName" jdbcType="VARCHAR" property="uTruename" />
<result column="u_email" jdbcType="VARCHAR" property="uEmail" />
<result column="u_state" jdbcType="INTEGER" property="uState" />
<result column="r_id" jdbcType="INTEGER" property="rId" />
</resultMap>
<sql id="Base_Column_List">
u_id, u_loginName, u_passWord, u_trueName, u_email, u_state, r_id
</sql>
<!--添加的 要查询的是对象-->
<select id="selectUser" parameterType="com.yhp.bean.User" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from user
where
u_loginName=#{uLoginname} and u_passWord=#{uPassword}
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from user
where u_id = #{uId,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from user
where u_id = #{uId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.yhp.bean.User">
insert into user (u_id, u_loginName, u_passWord,
u_trueName, u_email, u_state,
r_id)
values (#{uId,jdbcType=INTEGER}, #{uLoginname,jdbcType=VARCHAR}, #{uPassword,jdbcType=VARCHAR},
#{uTruename,jdbcType=VARCHAR}, #{uEmail,jdbcType=VARCHAR}, #{uState,jdbcType=INTEGER},
#{rId,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.yhp.bean.User">
insert into user
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="uId != null">
u_id,
</if>
<if test="uLoginname != null">
u_loginName,
</if>
<if test="uPassword != null">
u_passWord,
</if>
<if test="uTruename != null">
u_trueName,
</if>
<if test="uEmail != null">
u_email,
</if>
<if test="uState != null">
u_state,
</if>
<if test="rId != null">
r_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="uId != null">
#{uId,jdbcType=INTEGER},
</if>
<if test="uLoginname != null">
#{uLoginname,jdbcType=VARCHAR},
</if>
<if test="uPassword != null">
#{uPassword,jdbcType=VARCHAR},
</if>
<if test="uTruename != null">
#{uTruename,jdbcType=VARCHAR},
</if>
<if test="uEmail != null">
#{uEmail,jdbcType=VARCHAR},
</if>
<if test="uState != null">
#{uState,jdbcType=INTEGER},
</if>
<if test="rId != null">
#{rId,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yhp.bean.User">
update user
<set>
<if test="uLoginname != null">
u_loginName = #{uLoginname,jdbcType=VARCHAR},
</if>
<if test="uPassword != null">
u_passWord = #{uPassword,jdbcType=VARCHAR},
</if>
<if test="uTruename != null">
u_trueName = #{uTruename,jdbcType=VARCHAR},
</if>
<if test="uEmail != null">
u_email = #{uEmail,jdbcType=VARCHAR},
</if>
<if test="uState != null">
u_state = #{uState,jdbcType=INTEGER},
</if>
<if test="rId != null">
r_id = #{rId,jdbcType=INTEGER},
</if>
</set>
where u_id = #{uId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.yhp.bean.User">
update user
set u_loginName = #{uLoginname,jdbcType=VARCHAR},
u_passWord = #{uPassword,jdbcType=VARCHAR},
u_trueName = #{uTruename,jdbcType=VARCHAR},
u_email = #{uEmail,jdbcType=VARCHAR},
u_state = #{uState,jdbcType=INTEGER},
r_id = #{rId,jdbcType=INTEGER}
where u_id = #{uId,jdbcType=INTEGER}
</update>
</mapper>
UserController
controller要去使用@Controller,
@RequestMapping,去拦截请求的url(/,/login)
通过对象传递数据,调用了userService的login方法,得到了查询到的对象的结果,根据结果,跳转相应的页面
package com.yhp.controller;
import com.yhp.bean.User;
import com.yhp.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@Controller
public class UserController {
@Autowired
private UserService userService;
//登录
@RequestMapping({"/","/login"})
public void login(User user,HttpServletResponse response,HttpSession session) throws Exception {
response.setContentType("text/html;charset=utf-8");
//1.将参数传递给login方法,接收UserMapper的login方法返回的boolean值
boolean flag = userService.login(user);
if (flag) {
// 将查询到的user对象放入session中
session.setAttribute("user",user);
// 由于视图解析器已经配置, 这里只需要添加html文件名字, 不需要带后缀
response.getWriter().write("<script>location.href='/html/index.html';</script>");
} else {
response.getWriter().write("<script>alert('账号或密码错误!');location.href='/html/login.html';</script>");
}
}
}
UserService:接口
package com.yhp.service;
import com.yhp.bean.User;
public interface UserService {
boolean login(User user);
}
UserServiceImpl:实现
从mapper层拿到后,进行校验,看是否查到了,如果查到了那么就返回true,如果没有查询到返回的是false
package com.yhp.service.impl;
import com.yhp.bean.User;
import com.yhp.dao.UserMapper;
import com.yhp.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
// 自动注入
@Autowired
private UserMapper userMapper;
@Override
public boolean login(User user) {
//查询user表中是哦福有用户输入的账号和密码
if (userMapper.selectUser(user) != null){
return true;
}else {
return false;
}
}
}
UserMapper
public interface UserMapper {
//添加的
/**
* 登录方法
* 查询数据库的用户名和密码 返回值为一个对象,如果对象不存在则返回空
* 此处可能会引发空指针异常,可以直接抛出
* @param user
* @return
*/
//@Select("select * from user where uLoginname=#{uLoginname} and uPassword=#{uPassword}")
User selectUser(User user);
}