From e468d48c2f6bb96f079c22b6859f6e178d378bc0 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sat, 24 Feb 2018 11:19:35 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=AF=B9=E8=B1=A1=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=83=A8=E9=97=A8=E8=A7=92=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{UserConstants.java => Constants.java} | 16 ++- .../shiro/exception/JCaptchaException.java | 2 + .../{ => user}/RoleBlockedException.java | 2 +- .../{ => user}/UserBlockedException.java | 2 +- .../exception/{ => user}/UserException.java | 2 +- .../{ => user}/UserNotExistsException.java | 2 +- .../UserPasswordNotMatchException.java | 2 +- .../UserPasswordRetryLimitCountException.java | 16 +++ ...UserPasswordRetryLimitExceedException.java | 4 +- .../project/shiro/realm/LoginService.java | 28 +++-- .../ruoyi/project/shiro/realm/UserRealm.java | 10 +- .../shiro/service/PasswordService.java | 9 +- .../project/system/dept/domain/Dept.java | 82 ++++++++++++++ .../project/system/role/domain/Role.java | 107 ++++++++++++++++++ .../project/system/user/domain/User.java | 29 +++-- src/main/resources/i18n/messages.properties | 10 +- src/main/resources/mybatis/mybatis-config.xml | 8 +- .../mybatis/system/SystemLogininforMapper.xml | 6 +- .../mybatis/system/SystemMenuMapper.xml | 4 +- .../mybatis/system/SystemUserMapper.xml | 37 +++++- src/main/resources/mybatis/system/rmk.txt | 56 --------- src/main/resources/templates/index.html | 2 +- 22 files changed, 322 insertions(+), 114 deletions(-) rename src/main/java/com/ruoyi/project/shiro/common/{UserConstants.java => Constants.java} (61%) rename src/main/java/com/ruoyi/project/shiro/exception/{ => user}/RoleBlockedException.java (81%) rename src/main/java/com/ruoyi/project/shiro/exception/{ => user}/UserBlockedException.java (81%) rename src/main/java/com/ruoyi/project/shiro/exception/{ => user}/UserException.java (83%) rename src/main/java/com/ruoyi/project/shiro/exception/{ => user}/UserNotExistsException.java (80%) rename src/main/java/com/ruoyi/project/shiro/exception/{ => user}/UserPasswordNotMatchException.java (82%) create mode 100644 src/main/java/com/ruoyi/project/shiro/exception/user/UserPasswordRetryLimitCountException.java rename src/main/java/com/ruoyi/project/shiro/exception/{ => user}/UserPasswordRetryLimitExceedException.java (76%) create mode 100644 src/main/java/com/ruoyi/project/system/dept/domain/Dept.java create mode 100644 src/main/java/com/ruoyi/project/system/role/domain/Role.java delete mode 100644 src/main/resources/mybatis/system/rmk.txt diff --git a/src/main/java/com/ruoyi/project/shiro/common/UserConstants.java b/src/main/java/com/ruoyi/project/shiro/common/Constants.java similarity index 61% rename from src/main/java/com/ruoyi/project/shiro/common/UserConstants.java rename to src/main/java/com/ruoyi/project/shiro/common/Constants.java index f2db5aecf..306a1ed68 100644 --- a/src/main/java/com/ruoyi/project/shiro/common/UserConstants.java +++ b/src/main/java/com/ruoyi/project/shiro/common/Constants.java @@ -5,13 +5,19 @@ package com.ruoyi.project.shiro.common; * * @author yangzz */ -public class UserConstants +public class Constants { - /** 正常状态 */ - public static final String NORMAL = "0"; + /** 用户正常状态 */ + public static final String USER_NORMAL = "0"; - /** 封禁状态 */ - public static final String BLOCKED = "1"; + /** 用户封禁状态 */ + public static final String USER_BLOCKED = "1"; + + /** 角色正常状态 */ + public static final String ROLE_NORMAL = "0"; + + /** 角色封禁状态 */ + public static final String ROLE_BLOCKED = "1"; /** 异常状态 */ public static final String EXCEPTION = "1"; diff --git a/src/main/java/com/ruoyi/project/shiro/exception/JCaptchaException.java b/src/main/java/com/ruoyi/project/shiro/exception/JCaptchaException.java index c79ac2b25..e82fd7b5b 100644 --- a/src/main/java/com/ruoyi/project/shiro/exception/JCaptchaException.java +++ b/src/main/java/com/ruoyi/project/shiro/exception/JCaptchaException.java @@ -1,5 +1,7 @@ package com.ruoyi.project.shiro.exception; +import com.ruoyi.project.shiro.exception.user.UserException; + /** * 验证码错误异常类 * diff --git a/src/main/java/com/ruoyi/project/shiro/exception/RoleBlockedException.java b/src/main/java/com/ruoyi/project/shiro/exception/user/RoleBlockedException.java similarity index 81% rename from src/main/java/com/ruoyi/project/shiro/exception/RoleBlockedException.java rename to src/main/java/com/ruoyi/project/shiro/exception/user/RoleBlockedException.java index a7d2ab56c..442685749 100644 --- a/src/main/java/com/ruoyi/project/shiro/exception/RoleBlockedException.java +++ b/src/main/java/com/ruoyi/project/shiro/exception/user/RoleBlockedException.java @@ -1,4 +1,4 @@ -package com.ruoyi.project.shiro.exception; +package com.ruoyi.project.shiro.exception.user; /** * 角色锁定异常类 diff --git a/src/main/java/com/ruoyi/project/shiro/exception/UserBlockedException.java b/src/main/java/com/ruoyi/project/shiro/exception/user/UserBlockedException.java similarity index 81% rename from src/main/java/com/ruoyi/project/shiro/exception/UserBlockedException.java rename to src/main/java/com/ruoyi/project/shiro/exception/user/UserBlockedException.java index 0011a8787..4f1751dd4 100644 --- a/src/main/java/com/ruoyi/project/shiro/exception/UserBlockedException.java +++ b/src/main/java/com/ruoyi/project/shiro/exception/user/UserBlockedException.java @@ -1,4 +1,4 @@ -package com.ruoyi.project.shiro.exception; +package com.ruoyi.project.shiro.exception.user; /** * 用户锁定异常类 diff --git a/src/main/java/com/ruoyi/project/shiro/exception/UserException.java b/src/main/java/com/ruoyi/project/shiro/exception/user/UserException.java similarity index 83% rename from src/main/java/com/ruoyi/project/shiro/exception/UserException.java rename to src/main/java/com/ruoyi/project/shiro/exception/user/UserException.java index 85e5ca8cc..91450000f 100644 --- a/src/main/java/com/ruoyi/project/shiro/exception/UserException.java +++ b/src/main/java/com/ruoyi/project/shiro/exception/user/UserException.java @@ -1,4 +1,4 @@ -package com.ruoyi.project.shiro.exception; +package com.ruoyi.project.shiro.exception.user; import com.ruoyi.project.shiro.exception.base.BaseException; diff --git a/src/main/java/com/ruoyi/project/shiro/exception/UserNotExistsException.java b/src/main/java/com/ruoyi/project/shiro/exception/user/UserNotExistsException.java similarity index 80% rename from src/main/java/com/ruoyi/project/shiro/exception/UserNotExistsException.java rename to src/main/java/com/ruoyi/project/shiro/exception/user/UserNotExistsException.java index 3c8520ed0..4c4d1747c 100644 --- a/src/main/java/com/ruoyi/project/shiro/exception/UserNotExistsException.java +++ b/src/main/java/com/ruoyi/project/shiro/exception/user/UserNotExistsException.java @@ -1,4 +1,4 @@ -package com.ruoyi.project.shiro.exception; +package com.ruoyi.project.shiro.exception.user; /** * 用户不存在异常类 diff --git a/src/main/java/com/ruoyi/project/shiro/exception/UserPasswordNotMatchException.java b/src/main/java/com/ruoyi/project/shiro/exception/user/UserPasswordNotMatchException.java similarity index 82% rename from src/main/java/com/ruoyi/project/shiro/exception/UserPasswordNotMatchException.java rename to src/main/java/com/ruoyi/project/shiro/exception/user/UserPasswordNotMatchException.java index 159b92cbc..fae005dc0 100644 --- a/src/main/java/com/ruoyi/project/shiro/exception/UserPasswordNotMatchException.java +++ b/src/main/java/com/ruoyi/project/shiro/exception/user/UserPasswordNotMatchException.java @@ -1,4 +1,4 @@ -package com.ruoyi.project.shiro.exception; +package com.ruoyi.project.shiro.exception.user; /** * 用户密码不正确或不符合规范异常类 diff --git a/src/main/java/com/ruoyi/project/shiro/exception/user/UserPasswordRetryLimitCountException.java b/src/main/java/com/ruoyi/project/shiro/exception/user/UserPasswordRetryLimitCountException.java new file mode 100644 index 000000000..86efe08dc --- /dev/null +++ b/src/main/java/com/ruoyi/project/shiro/exception/user/UserPasswordRetryLimitCountException.java @@ -0,0 +1,16 @@ +package com.ruoyi.project.shiro.exception.user; + +/** + * 用户错误记数异常类 + * + * @author yangzz + */ +public class UserPasswordRetryLimitCountException extends UserException +{ + private static final long serialVersionUID = 1L; + + public UserPasswordRetryLimitCountException(int retryLimitCount, String password) + { + super("user.password.retry.limit.count", new Object[] { retryLimitCount, password }); + } +} diff --git a/src/main/java/com/ruoyi/project/shiro/exception/UserPasswordRetryLimitExceedException.java b/src/main/java/com/ruoyi/project/shiro/exception/user/UserPasswordRetryLimitExceedException.java similarity index 76% rename from src/main/java/com/ruoyi/project/shiro/exception/UserPasswordRetryLimitExceedException.java rename to src/main/java/com/ruoyi/project/shiro/exception/user/UserPasswordRetryLimitExceedException.java index 06922f9c3..21bf4dd33 100644 --- a/src/main/java/com/ruoyi/project/shiro/exception/UserPasswordRetryLimitExceedException.java +++ b/src/main/java/com/ruoyi/project/shiro/exception/user/UserPasswordRetryLimitExceedException.java @@ -1,7 +1,7 @@ -package com.ruoyi.project.shiro.exception; +package com.ruoyi.project.shiro.exception.user; /** - * 用户错误次数异常类 + * 用户错误最大次数异常类 * * @author yangzz */ diff --git a/src/main/java/com/ruoyi/project/shiro/realm/LoginService.java b/src/main/java/com/ruoyi/project/shiro/realm/LoginService.java index bfb41c33d..2ba80c026 100644 --- a/src/main/java/com/ruoyi/project/shiro/realm/LoginService.java +++ b/src/main/java/com/ruoyi/project/shiro/realm/LoginService.java @@ -3,12 +3,14 @@ package com.ruoyi.project.shiro.realm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; + import com.ruoyi.framework.constant.CommonConstant; -import com.ruoyi.project.shiro.common.UserConstants; +import com.ruoyi.project.shiro.common.Constants; import com.ruoyi.project.shiro.common.utils.MessageUtils; -import com.ruoyi.project.shiro.exception.UserBlockedException; -import com.ruoyi.project.shiro.exception.UserNotExistsException; -import com.ruoyi.project.shiro.exception.UserPasswordNotMatchException; +import com.ruoyi.project.shiro.exception.user.RoleBlockedException; +import com.ruoyi.project.shiro.exception.user.UserBlockedException; +import com.ruoyi.project.shiro.exception.user.UserNotExistsException; +import com.ruoyi.project.shiro.exception.user.UserPasswordNotMatchException; import com.ruoyi.project.shiro.service.PasswordService; import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.service.IUserService; @@ -36,20 +38,20 @@ public class LoginService // 用户名或密码为空 错误 if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) { - SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")); + SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("not.null")); throw new UserNotExistsException(); } // 密码如果不在指定范围内 错误 - if (password.length() < UserConstants.PASSWORD_MIN_LENGTH - || password.length() > UserConstants.PASSWORD_MAX_LENGTH) + if (password.length() < Constants.PASSWORD_MIN_LENGTH + || password.length() > Constants.PASSWORD_MAX_LENGTH) { SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.password.not.match")); throw new UserPasswordNotMatchException(); } // 用户名不在指定范围内 错误 - if (username.length() < UserConstants.USERNAME_MIN_LENGTH - || username.length() > UserConstants.USERNAME_MAX_LENGTH) + if (username.length() < Constants.USERNAME_MIN_LENGTH + || username.length() > Constants.USERNAME_MAX_LENGTH) { SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.password.not.match")); throw new UserPasswordNotMatchException(); @@ -66,12 +68,18 @@ public class LoginService passwordService.validate(user, password); - if (UserConstants.BLOCKED.equals(user.getStatus())) + if (Constants.USER_BLOCKED.equals(user.getStatus())) { SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.blocked", user.getRefuseDes())); throw new UserBlockedException(user.getRefuseDes()); } + if (Constants.ROLE_BLOCKED.equals(user.getRole().getStatus())) + { + SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("role.blocked", user.getRole().getRemark())); + throw new RoleBlockedException(user.getRole().getRemark()); + } + SystemLogUtils.log(username, CommonConstant.LOGIN_SUCCESS, MessageUtils.message("user.login.success")); return user; } diff --git a/src/main/java/com/ruoyi/project/shiro/realm/UserRealm.java b/src/main/java/com/ruoyi/project/shiro/realm/UserRealm.java index b4d8fb406..33e5588eb 100644 --- a/src/main/java/com/ruoyi/project/shiro/realm/UserRealm.java +++ b/src/main/java/com/ruoyi/project/shiro/realm/UserRealm.java @@ -20,11 +20,11 @@ import org.springframework.beans.factory.annotation.Autowired; import com.ruoyi.common.tools.StringTools; import com.ruoyi.common.utils.security.ShiroUtils; import com.ruoyi.project.shiro.exception.JCaptchaException; -import com.ruoyi.project.shiro.exception.RoleBlockedException; -import com.ruoyi.project.shiro.exception.UserBlockedException; -import com.ruoyi.project.shiro.exception.UserNotExistsException; -import com.ruoyi.project.shiro.exception.UserPasswordNotMatchException; -import com.ruoyi.project.shiro.exception.UserPasswordRetryLimitExceedException; +import com.ruoyi.project.shiro.exception.user.RoleBlockedException; +import com.ruoyi.project.shiro.exception.user.UserBlockedException; +import com.ruoyi.project.shiro.exception.user.UserNotExistsException; +import com.ruoyi.project.shiro.exception.user.UserPasswordNotMatchException; +import com.ruoyi.project.shiro.exception.user.UserPasswordRetryLimitExceedException; import com.ruoyi.project.system.menu.service.IMenuService; import com.ruoyi.project.system.user.domain.User; diff --git a/src/main/java/com/ruoyi/project/shiro/service/PasswordService.java b/src/main/java/com/ruoyi/project/shiro/service/PasswordService.java index 18ce1d909..4a09650bf 100644 --- a/src/main/java/com/ruoyi/project/shiro/service/PasswordService.java +++ b/src/main/java/com/ruoyi/project/shiro/service/PasswordService.java @@ -9,8 +9,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import com.ruoyi.framework.constant.CommonConstant; import com.ruoyi.project.shiro.common.utils.Md5Utils; -import com.ruoyi.project.shiro.exception.UserPasswordNotMatchException; -import com.ruoyi.project.shiro.exception.UserPasswordRetryLimitExceedException; +import com.ruoyi.project.shiro.common.utils.MessageUtils; +import com.ruoyi.project.shiro.exception.user.UserPasswordNotMatchException; +import com.ruoyi.project.shiro.exception.user.UserPasswordRetryLimitExceedException; import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.util.SystemLogUtils; @@ -50,13 +51,13 @@ public class PasswordService } if (retryCount.incrementAndGet() > Integer.valueOf(maxRetryCount).intValue()) { - SystemLogUtils.log(loginName, CommonConstant.LOGIN_FAIL, "密码输入错误次数太多禁止登录,最大{}次!", maxRetryCount); + SystemLogUtils.log(loginName, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.password.retry.limit.exceed", maxRetryCount)); throw new UserPasswordRetryLimitExceedException(Integer.valueOf(maxRetryCount).intValue()); } if (!matches(user, password)) { - SystemLogUtils.log(loginName, CommonConstant.LOGIN_FAIL, "密码错误!密码:{},重试计数:{}", password, retryCount); + SystemLogUtils.log(loginName, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.password.retry.limit.count", retryCount, password)); loginRecordCache.put(loginName, retryCount); throw new UserPasswordNotMatchException(); } diff --git a/src/main/java/com/ruoyi/project/system/dept/domain/Dept.java b/src/main/java/com/ruoyi/project/system/dept/domain/Dept.java new file mode 100644 index 000000000..a8216543d --- /dev/null +++ b/src/main/java/com/ruoyi/project/system/dept/domain/Dept.java @@ -0,0 +1,82 @@ +package com.ruoyi.project.system.dept.domain; + +import java.io.Serializable; + +/** + * 部门对象 sys_dept + * + * @author yangzz + */ +public class Dept implements Serializable +{ + private static final long serialVersionUID = 1L; + + // 部门ID + private Long deptId; + // 父部门ID + private Long parentId; + // 部门名称 + private String deptName; + // 显示顺序 + private String orderNum; + // 部门状态:0正常,1停用 + private String status; + + public Long getDeptId() + { + return deptId; + } + + public void setDeptId(Long deptId) + { + this.deptId = deptId; + } + + public Long getParentId() + { + return parentId; + } + + public void setParentId(Long parentId) + { + this.parentId = parentId; + } + + public String getDeptName() + { + return deptName; + } + + public void setDeptName(String deptName) + { + this.deptName = deptName; + } + + public String getOrderNum() + { + return orderNum; + } + + public void setOrderNum(String orderNum) + { + this.orderNum = orderNum; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + @Override + public String toString() + { + return "{\"deptId\":\"" + deptId + "\",\"parentId\":\"" + parentId + "\",\"deptName\":\"" + deptName + + "\",\"orderNum\":\"" + orderNum + "\",\"status\":\"" + status + "\"} "; + } + +} diff --git a/src/main/java/com/ruoyi/project/system/role/domain/Role.java b/src/main/java/com/ruoyi/project/system/role/domain/Role.java new file mode 100644 index 000000000..ae0cf8145 --- /dev/null +++ b/src/main/java/com/ruoyi/project/system/role/domain/Role.java @@ -0,0 +1,107 @@ +package com.ruoyi.project.system.role.domain; + +import java.io.Serializable; + +/** + * 角色对象 sys_role + * + * @author yangzz + */ +public class Role implements Serializable +{ + private static final long serialVersionUID = 1L; + + // 角色ID + private Long roleId; + // 角色名 + private String roleName; + // 角色状态:0正常,1禁用 + private String status; + // 创建时间 + private String createTime; + // 更新时间 + private String updateTime; + // 更新者 + private String updateBy; + // 备注 + private String remark; + + public Long getRoleId() + { + return roleId; + } + + public void setRoleId(Long roleId) + { + this.roleId = roleId; + } + + public String getRoleName() + { + return roleName; + } + + public void setRoleName(String roleName) + { + this.roleName = roleName; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getCreateTime() + { + return createTime; + } + + public void setCreateTime(String createTime) + { + this.createTime = createTime; + } + + public String getUpdateTime() + { + return updateTime; + } + + public void setUpdateTime(String updateTime) + { + this.updateTime = updateTime; + } + + public String getUpdateBy() + { + return updateBy; + } + + public void setUpdateBy(String updateBy) + { + this.updateBy = updateBy; + } + + public String getRemark() + { + return remark; + } + + public void setRemark(String remark) + { + this.remark = remark; + } + + @Override + public String toString() + { + return "{\"roleId\":\"" + roleId + "\",\"roleName\":\"" + roleName + "\",\"status\":\"" + status + + "\",\"createTime\":\"" + createTime + "\",\"updateTime\":\"" + updateTime + "\",\"updateBy\":\"" + + updateBy + "\",\"remark\":\"" + remark + "\"} "; + } + +} diff --git a/src/main/java/com/ruoyi/project/system/user/domain/User.java b/src/main/java/com/ruoyi/project/system/user/domain/User.java index 8be8c8227..d38855ac9 100644 --- a/src/main/java/com/ruoyi/project/system/user/domain/User.java +++ b/src/main/java/com/ruoyi/project/system/user/domain/User.java @@ -1,6 +1,8 @@ package com.ruoyi.project.system.user.domain; import java.io.Serializable; +import com.ruoyi.project.system.dept.domain.Dept; +import com.ruoyi.project.system.role.domain.Role; /** * 用户对象 sys_user @@ -33,8 +35,10 @@ public class User implements Serializable private String refuseDes; // 创建时间 private String createTime; - // 角色临时字段 - private String roleName; + // 部门对象 + private Dept dept; + // 角色对象 + private Role role; public User() { @@ -158,14 +162,24 @@ public class User implements Serializable this.createTime = createTime; } - public String getRoleName() + public Dept getDept() { - return roleName; + return dept; } - public void setRoleName(String roleName) + public void setDept(Dept dept) { - this.roleName = roleName; + this.dept = dept; + } + + public Role getRole() + { + return role; + } + + public void setRole(Role role) + { + this.role = role; } @Override @@ -174,8 +188,7 @@ public class User implements Serializable return "{\"userId\":\"" + userId + "\",\"deptId\":\"" + deptId + "\",\"loginName\":\"" + loginName + "\",\"userName\":\"" + userName + "\",\"email\":\"" + email + "\",\"phonenumber\":\"" + phonenumber + "\",\"password\":\"" + password + "\",\"salt\":\"" + salt + "\",\"status\":\"" + status - + "\",\"refuseDes\":\"" + refuseDes + "\",\"createTime\":\"" + createTime + "\",\"roleName\":\"" - + roleName + "\"} "; + + "\",\"refuseDes\":\"" + refuseDes + "\",\"createTime\":\"" + createTime + "\"} "; } } diff --git a/src/main/resources/i18n/messages.properties b/src/main/resources/i18n/messages.properties index 2e7ae46c1..6a754399c 100644 --- a/src/main/resources/i18n/messages.properties +++ b/src/main/resources/i18n/messages.properties @@ -1,18 +1,18 @@ #错误消息 +not.null=* 必须填写 user.not.exists=用户不存在/密码错误 user.password.not.match=用户不存在/密码错误 -user.password.retry.limit.exceed=密码输入错误次数太多,帐户锁定10分钟 +user.password.retry.limit.count=密码输入错误{0}次,{1} +user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定10分钟 +user.blocked=用户已封禁,原因:{0} +role.blocked=角色已封禁,原因:{0} - -not.null=* 必须填写 length.not.valid=长度必须在{min}到{max}个字符之间 user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成,且必须以非数字开头 user.password.not.valid=* 5-50个字符 user.jcaptcha.error=验证码错误 -user.blocked=用户已封禁,原因:{0} -role.blocked=角色已封禁,原因:{0} user.email.not.valid=邮箱格式错误 user.mobile.phone.number.not.valid=手机号格式错误 diff --git a/src/main/resources/mybatis/mybatis-config.xml b/src/main/resources/mybatis/mybatis-config.xml index af22a1e1e..563a488fa 100644 --- a/src/main/resources/mybatis/mybatis-config.xml +++ b/src/main/resources/mybatis/mybatis-config.xml @@ -4,9 +4,9 @@ PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> - - - - + + + + diff --git a/src/main/resources/mybatis/system/SystemLogininforMapper.xml b/src/main/resources/mybatis/system/SystemLogininforMapper.xml index 3795c60ee..5c78e6a1e 100644 --- a/src/main/resources/mybatis/system/SystemLogininforMapper.xml +++ b/src/main/resources/mybatis/system/SystemLogininforMapper.xml @@ -4,8 +4,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - + + @@ -15,7 +15,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + insert into sys_logininfor (login_name, status, ipaddr, browser, os, msg) values (#{loginName}, #{status}, #{ipaddr}, #{browser}, #{os}, #{msg}) diff --git a/src/main/resources/mybatis/system/SystemMenuMapper.xml b/src/main/resources/mybatis/system/SystemMenuMapper.xml index a94a699a2..112c80014 100644 --- a/src/main/resources/mybatis/system/SystemMenuMapper.xml +++ b/src/main/resources/mybatis/system/SystemMenuMapper.xml @@ -4,8 +4,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - + + diff --git a/src/main/resources/mybatis/system/SystemUserMapper.xml b/src/main/resources/mybatis/system/SystemUserMapper.xml index 27746a866..044ab5367 100644 --- a/src/main/resources/mybatis/system/SystemUserMapper.xml +++ b/src/main/resources/mybatis/system/SystemUserMapper.xml @@ -4,8 +4,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - + + @@ -16,14 +16,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + + + + + + + + - select * from sys_user \ No newline at end of file diff --git a/src/main/resources/mybatis/system/rmk.txt b/src/main/resources/mybatis/system/rmk.txt deleted file mode 100644 index 2cf595f14..000000000 --- a/src/main/resources/mybatis/system/rmk.txt +++ /dev/null @@ -1,56 +0,0 @@ -resultType 返回值类型为对象不做映射 -resultMap 返回值类型为对象根据resultMap定义映射 - - -注解别名 @Alias("User") -等同 -需配置 - - - - - -第二种方式 在配置文件中新增 -mybatis: - # 搜索指定包别名 - typeAliasesPackage: com.ruoyi.project.system -在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名 - -select 节点 -id 在命名空间中唯一的标识符,可以被用来引用这条语句。 -parameterType 将会传入这条语句的参数类的完全限定名或别名。这个属性是可选的,因为 MyBatis 可以通过 TypeHandler 推断出具体传入语句的参数,默认值为 unset。 -resultType 从这条语句中返回的期望类型的类的完全限定名或别名。注意如果是集合情形,那应该是集合可以包含的类型,而不能是集合本身。使用 resultType 或 resultMap,但不能同时使用。 -resultMap 外部 resultMap 的命名引用。结果集的映射是 MyBatis 最强大的特性,对其有一个很好的理解的话,许多复杂映射的情形都能迎刃而解。使用 resultMap 或 resultType,但不能同时使用。 -flushCache 将其设置为 true,任何时候只要语句被调用,都会导致本地缓存和二级缓存都会被清空,默认值:false。 -useCache 将其设置为 true,将会导致本条语句的结果被二级缓存,默认值:对 select 元素为 true。 -timeout 这个设置是在抛出异常之前,驱动程序等待数据库返回请求结果的秒数。默认值为 unset(依赖驱动)。 -fetchSize 这是尝试影响驱动程序每次批量返回的结果行数和这个设置值相等。默认值为 unset(依赖驱动)。 -statementType STATEMENT,PREPARED 或 CALLABLE 的一个。这会让 MyBatis 分别使用 Statement,PreparedStatement 或 CallableStatement,默认值:PREPARED。 -resultSetType FORWARD_ONLY,SCROLL_SENSITIVE 或 SCROLL_INSENSITIVE 中的一个,默认值为 unset (依赖驱动)。 -databaseId 如果配置了 databaseIdProvider,MyBatis 会加载所有的不带 databaseId 或匹配当前 databaseId 的语句;如果带或者不带的语句都有,则不带的会被忽略。 -resultOrdered 这个设置仅针对嵌套结果 select 语句适用:如果为 true,就是假设包含了嵌套结果集或是分组了,这样的话当返回一个主结果行的时候,就不会发生有对前面结果集的引用的情况。这就使得在获取嵌套的结果集的时候不至于导致内存不够用。默认值:false。 -resultSets 个设置仅对多结果集的情况适用,它将列出语句执行后返回的结果集并每个结果集给一个名称,名称是逗号分隔的。 - -insert, update 和 delete 节点 -id 命名空间中的唯一标识符,可被用来代表这条语句。 -parameterType 将要传入语句的参数的完全限定类名或别名。这个属性是可选的,因为 MyBatis 可以通过 TypeHandler 推断出具体传入语句的参数,默认值为 unset。 -flushCache 将其设置为 true,任何时候只要语句被调用,都会导致本地缓存和二级缓存都会被清空,默认值:true(对应插入、更新和删除语句)。 -timeout 这个设置是在抛出异常之前,驱动程序等待数据库返回请求结果的秒数。默认值为 unset(依赖驱动)。 -statementType STATEMENT,PREPARED 或 CALLABLE 的一个。这会让 MyBatis 分别使用 Statement,PreparedStatement 或 CallableStatement,默认值:PREPARED。 -useGeneratedKeys (仅对 insert 和 update 有用)这会令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键(比如:像 MySQL 和 SQL Server 这样的关系数据库管理系统的自动递增字段),默认值:false。 -keyProperty (仅对 insert 和 update 有用)唯一标记一个属性,MyBatis 会通过 getGeneratedKeys 的返回值或者通过 insert 语句的 selectKey 子元素设置它的键值,默认:unset。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。 -keyColumn (仅对 insert 和 update 有用)通过生成的键值设置表中的列名,这个设置仅在某些数据库(像 PostgreSQL)是必须的,当主键列不是表中的第一列的时候需要设置。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。 -databaseId 如果配置了 databaseIdProvider,MyBatis 会加载所有的不带 databaseId 或匹配当前 databaseId 的语句;如果带或者不带的语句都有,则不带的会被忽略。 - -