返回

003.实现用户登录Model层

发布时间:2023-11-09 21:09:09 364

1.创建实体类(entity下)

package com.imooc.oa.entity;

public class User {
private Long userId; //user_id
private String username;
private String password;
private Long employeeId;
private Integer salt;

@Override
public String toString() {
return "User{" +
"userId=" + userId +
", username='" + username + '\'' +
", password='" + password + '\'' +
", employeeId=" + employeeId +
", salt=" + salt +
'}';
}

public Long getUserId() {
return userId;
}

public void setUserId(Long userId) {
this.userId = userId;
}

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;
}

public Long getEmployeeId() {
return employeeId;
}

public void setEmployeeId(Long employeeId) {
this.employeeId = employeeId;
}

public Integer getSalt() {
return salt;
}

public void setSalt(Integer salt) {
this.salt = salt;
}
}

2.创建user.xml(resources/user.xml)





3.在mybatis-config.xml进行注册



4.创建mapper(com.imooc.oa.entity.User)zaimvc业务中,mapper不包含业务逻辑,只操作数据库

package com.imooc.oa.mapper;

import com.imooc.oa.entity.User;
import com.imooc.oa.utils.MybatisUtils;

public class UserMapper
{
public User selectByUsername(String username)
{
User user = (User) MybatisUtils.executeQuery(sqlSession -> sqlSession.selectOne("usermapper.selectByUsername", username));
return user;
}
}

5.在service中进行业务逻辑(package com.imooc.oa.service)

package com.imooc.oa.service;

import com.imooc.oa.entity.User;
import com.imooc.oa.mapper.UserMapper;
import com.imooc.oa.service.exception.LoginException;

public class UserService {
private UserMapper userMapper = new UserMapper();
/**
* 根据前台输入进行登录校验
* @param username 前台输入的用户名
* @param password 前台输入的密码
* @return 校验通过后,包含对应用户数据的User实体类
* @throws LoginException 用户登录异常
*/
public User checkLogin(String username , String password){
User user = userMapper.selectByUsername(username);
if(user == null){
throw new LoginException("用户名不存在");
}
if(!password.equals(user.getPassword())){
throw new LoginException("密码错误");
}
return user;
}
}

5.1在service包下创建自定义异常exception(com.imooc.oa.service.exception)

package com.imooc.oa.service.exception;

public class LoginException extends RuntimeException{
public LoginException(String message){
super(message);//使用父类的方法
}
}

 



特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线