文章目录
这篇博客主要讲解登录功能的实现,工作台的开发以及很重要的菜单栏的加载三部分内容
前文推荐:
汽车租赁系统介绍以及数据库表介绍,环境搭建
完成汽车租赁系统的登录功能
演示登录功能
注:这里没有添加验证码的验证的功能(为了方便登录,其实是因为我懒),在项目的最后会加上!!
分析登录功能:
- 登录的
实体
就是用户,有用户才能登录
- 怎么判断这个用户(输入的账号和密码)能不能允许登录?依靠
数据库中有没有这个用户
,要查询账号密码对应的用户在数据库中是否存在
,需要数据库查询 - 完成登录的逻辑,需要
业务接口和实现类
- 完成
页面的跳转
,需要控制器,控制页面跳转到登录页面,然后登录成功再跳转到首页.需要控制器
总结一下:
- 实体(User)
- UserMapper
- UserService
- UserController
创建数据库的表
字段和相应的解释
用户表(sys_users)
字段名 | 字段说明 | 类型 | 是否主键 | 备注 |
---|---|---|---|---|
userid | 用户编号 | Int | 是 | |
loginname | 登陆名 | varchar | ||
identity | 身份证号 | varchar | ||
realname | 真实名称 | varchar | ||
sex | 性别 | Int | 0女1男 | |
address | 地址 | varchar | ||
phone | 电话 | varchar | ||
pwd | 密码 | varchar | ||
position | 职位 | varchar | ||
type | 用户类型 | Int | 1,超级管理员2,系统用户Where type<>1 |
创建首页index.jsp
<%--
User: LYJ
Date: 2020年7月7日
Time: 17:18:48
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登陆页面</title>
</head>
<body>
<jsp:forward page="login/toLogin.action"></jsp:forward>
</body>
</html>
创建实体类
User代表我们的实体类
- 如果会使用MyBatis的逆向工程,可以使用逆向工程,根据数据库快速的创建出实体类和Mapper以及Mapper.xml
package per.leiyu.sys.domain;
public class User {
private Integer userid;
private String loginname;
private String identity;
private String realname;
private Integer sex;
private String address;
private String phone;
private String pwd;
private String position;
private Integer type;
private Integer available;
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname == null ? null : loginname.trim();
}
public String getIdentity() {
return identity;
}
public void setIdentity(String identity) {
this.identity = identity == null ? null : identity.trim();
}
public String getRealname() {
return realname;
}
public void setRealname(String realname) {
this.realname = realname == null ? null : realname.trim();
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address == null ? null : address.trim();
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone == null ? null : phone.trim();
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd == null ? null : pwd.trim();
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position == null ? null : position.trim();
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getAvailable() {
return available;
}
public void setAvailable(Integer available) {
this.available = available;
}
@Override
public String toString() {
return "User{" +
"userid=" + userid +
", loginname='" + loginname + '\'' +
", identity='" + identity + '\'' +
", realname='" + realname + '\'' +
", sex=" + sex +
", address='" + address + '\'' +
", phone='" + phone + '\'' +
", pwd='" + pwd + '\'' +
", position='" + position + '\'' +
", type=" + type +
", available=" + available +
'}';
}
}
创建UserVo
作为User的实体增强类,之后有有关用户管理的用户数据分页数据可能会用到,但是在登录功能中用不到.可以先创建出来
package per.leiyu.sys.vo;
import per.leiyu.sys.domain.User;
public class UserVo extends User {
}
创建Mapper
package per.leiyu.sys.mapper;
import per.leiyu.sys.domain.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface UserMapper {
int deleteByPrimaryKey(Integer userid);
int insert(User record);
int insertSelective(User record);
User selectByPrimaryKey(Integer userid);
int updateByPrimaryKeySelective(User record);
int updateByPrimaryKey(User record);
/**
* 登陆
*/
User login(User user);
}