确定系统中的实体,创建数据库表以及持久化类
1、确定系统所用到的实体、实体属性以及各实体之间的联系同时创建数据库表
本系统按照功能需求共涉及六个实体,分别是用户User、员工Employee、职位Job、部门Dept、公告Notice、文件Document,各实体之间的联系如下:
- 用户与公告:一个用户可以创建数个公告,因此二者是一对多的关系
- 用户与文件:一个用户可以上传多个文件,因此二者是一对多的关系
- 员工与职位,一个职位可以有数个员工,但一个员工只能身兼一个职位,因此二者的关系式多对一
- 员工与部门,一个部门可以有多个员工,但一个员工只归属一个部门,因此二者是多对一的关系
确定了各个实体之间的关系之后就是确定各个实体的属性,同时应用MySQL数据库可视化操作工具Navicat for MySQL进行数据库表的创建。
首先创建数据库hrm_db,接着创建各个表: - 用户表user_tb:应包含主键id,登录名loginName,用户名userName,密码password,用户类别userType,创建日期createDate等。
- 部门表dept_tb:应包含主键部门id,部门名称deptName,备注信息remark
- 岗位表job_tb:应包含主键id,岗位名称jobName,岗位在岗人数number,备注信息remark等
- 员工表employee_tb:应包含主键id,员工姓名name,性别sex,住址address,身份证号idCard,手机号mobile,职位job_id,部门dept_id等
- 公告表notice_tb:应包含主键id,公告主题title,内容content,用户user_id,创建日期createDate
- 文件表document_tb:应包含主键id,文件标题title,文件名fileName,备注信息remark,用户id user_id,创建日期createDate
2、创建实体类
使用开发工具MyEclipese 8.x创建一个web项目,命名为hrmApp.项目目录结构如下:
创建一个包org.fkit.hrm.domain包含六个实体类User、Employee、job、Dept、Notice、Document,下面以User类为例说明六个实体类应该包含哪些属性与方法。
package org.fkit.hrm.domain;
import java.util.ArrayList;
import java.util.Date;
public class User {
Integer id; //用户编号
String userName; //用户名
String loginName; //登录名
String password; //密码
String userStatus; //用户状态
Date createDate; //创建日期
ArrayList<Notice> noticeArray=new ArrayList<Notice>(); //用户类与公共类属于一对多的关系,因此
//建立一个公告集合
ArrayList<Document> documentArray=new ArrayList<Document>(); //建立一个下载集合
public ArrayList<Document> getDocumentArray() {
return documentArray;
}
public void setDocumentArray(ArrayList<Document> documentArray) {
this.documentArray = documentArray;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUserStatus() {
return userStatus;
}
public void setUserStatus(String userStatus) {
this.userStatus = userStatus;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public ArrayList<Notice> getNoticeArray() {
return noticeArray;
}
public void setNoticeArray(ArrayList<Notice> noticeArray) {
this.noticeArray = noticeArray;
}
}
User类除包含基本的属性诸如id、loginName意外,还应该包含两个ArrayList对象用于存储该用户所创建的公告与文件(相应的,Notice类与Document类中应该包含一个User属性)。六个类的创建大同小异,可参考User进行创建。