十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
把员工用Set或List装起来就行了,然后用Map,一个部门对应一个员工集合
创新互联公司专注于吉安企业网站建设,响应式网站开发,商城网站建设。吉安网站建设公司,为吉安等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
建议做法如下:
第一,写一个符合javaBean标准的实体类,类的属性名称和类型分别与数据库的字段对应,并加上无参构造方法和get、set方法;
第二,使用注解配置映射关系,用@Entity注解该类是一个实体类,用@Table(name = "表名")注解该实体类映射的表名,通过在每一个属性的get方法上添加@Column(name = "列名")注解该属性映射的列;
第三,配置主键,找出表主键映射的那个属性,用@Id在该属性的get方法上注解该属性为Id。(根据具体需要,可能还要做一些更详细的配置)
参考代码如下:
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.Parameter;
/**
*
* 用户
*/
@Entity //说明该类是实体类
@Table(name = "USER")//说明该类映射的是表USER
public class TUser implements java.io.Serializable {
private String userID; // 用户id
private String userName; // 用户名称
private String loginName; // 登录名称
private String password; // 密码
private Integer status; // 状态
private java.util.Date lastLoginTime; // 上次登录时间
private java.util.Date regTime; // 注册时间
@Id//说明该属性映射的是表USER的主键
@Column(name = "UserID", unique = true, nullable = false)
//该属性映射的是表USER的UserId字段,非空且唯一
public String getUserID() {
return this.userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
@Column(name = "UserName")
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@Column(name = "LoginName")
public String getLoginName() {
return this.loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
@Column(name = "Password")
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
@Column(name = "Status")
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
@Column(name = "LastLoginTime")
public java.util.Date getLastLoginTime() {
return lastLoginTime;
}
public void setLastLoginTime(java.util.Date lastLoginTime) {
this.lastLoginTime = lastLoginTime;
}
@Column(name = "RegTime")
public java.util.Date getRegTime() {
return regTime;
}
public void setRegTime(java.util.Date regTime) {
this.regTime = regTime;
}
@Override
public int hashCode() {
int prime = 0;
prime += this.getUserID().hashCode();
return prime;
}
@Override
public boolean equals(Object obj) {
boolean isEquals = false;
if (obj != null this.getClass() == obj.getClass()) {
TUser clazz = (TUser) obj;
if (clazz.getUserID().equals(this.getUserID()))
isEquals = true;
return isEquals;
}
return isEquals;
}
}
Session的机制(为了安全)决定了Session A不能获得Session B的信息,即Session之间是互相隔离的.
你可以在Login的时候,将当前登录的用户信息保存一份到Application中.
大致流程如下:
在Application放一个HashMapString [userName],String[SessionId] logins = new....
登录的时候 logins.put(userName,sessionId);
权限校验的时候
String sessionId = logins.get(userName);
if(request.getSession().getSessionId().equals(sessionId)){
//允许继续操作
}else{
//session.inValidate();//取消当前session的有效期.这个方法名我记不太清楚了.
//清空session里保存的内容,退出登录,返回到登录页面.
}
退出的时候,
logins.remove(userName);
映射简称ORMapping
说的直白点就是这样:
对象在数据库里面保存的状态
比如:把某对象映射到库里,就是指把对象存储到数据库里
大概就是这个意思
如果想了解的更多.,你可以搜索 一些相关的知识
常用的JAVA映射工具如:Hibernate就是我们用的最流行的
java中操作的都是对象,一般我们创建一个对象,设置它的属性,其中属性与数据库的实际字段对应,我们直接操作对象的属性,就相当与操作数据库了,hibernate就是用的此原理做的映射