基于SSM框架和easyUI框架的简易人事管理系统(二)
项目的建立
由于本项目用的是idea所以项目直接用maven进行模块建立,项目的基本文件结构如下图,大家可按照自己的习惯去建自己的项目,也可以参照这个格式,其实我认为在建立项目的时候还是挺需要一个好的文件结构,会很直观很清晰的知道自己写的是什么。
数据库的建立
我们再分析完系统需求就可以建立数据库了,其中我们需要五张表,分别是管理员表,公告表,部门表,职位表和员工表。
-
管理员表
-
部门表
-
职位表
-
员工表
-
公告表
按照上述建立数据库表,如果认为表中时间太麻烦可直接设置成varchar类型,同时由于oracle不能像mysql那样直接用自增函数,想要在oracle实现主键自增,先建立一个序列,再创建一个触发器,每次插入数据时候触发,取序列中的值来当做主键,就能实现主键自增。但是有一些局限性,具体自行百度。
数据库搭建完毕同时插入数据,最好都是使用无主键自增插入,不然会出现序列和主键有相同数无法插入的状态。数据库和数据建立并插入成功后,就可以对持久层进行实例化,将表实例化成一个类,来方便后续操作。
持久实例化
在java包下建立domain包,把所有的实例化类都放在里边
Admin类
package domain;
import java.io.Serializable;
public class Admin implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id; // 管理员编号
private String username; // 用户名
private String password; // 密码
private String role_name; // 管理员角色
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 getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getRole_name() {
return role_name;
}
public void setRole_name(String role_name) {
this.role_name = role_name;
}
@Override
public String toString() {
return "Admin:[id=" + id + ",username=" + username + ",password=" + password + ",role_name=" + role_name + "]";
}
}
Department
package domain;
import java.io.Serializable;
public class Department implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id; // 部门编号
private String name; // 名称
private String description; // 描述
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "Department:[id=" + id + ",name=" + name + ",description="
+ description + "]";
}
}
Employee
package domain;
import java.io.Serializable;
import java.util.Date;
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
private String id; // 员工编号
private String name; // 姓名
private String sex; // 性别
private String phone; // 电话
private String email; // 邮箱
private String address; // 地址
private String education; // 学历
private Date birthday; // 生日
private Department department; // 部门
private Position position; // 职位
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getEducation() {
return education;
}
public void setEducation(String education) {
this.education = education;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
public Position getPosition() {
return position;
}
public void setPosition(Position position) {
this.position = position;
}
@Override
public String toString() {
return "Employee:[id=" + id + ",name=" + name + ",sex=" + sex
+ ",phone=" + phone + ",email=" + email + ",address=" + address
+ ",education=" + education + ",birthday=" + birthday
+ ",department=" + department + ",position=" + position + "]";
}
}
Position
package domain;
import java.io.Serializable;
public class Position implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id; // 职位编号
private String name; // 名称
private String description; // 描述
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "Position:[id=" + id + ",name=" + name + ",description="
+ description + "]";
}
}
Post
package domain;
import java.io.Serializable;
import java.util.Date;
public class Post implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id; // 公告编号
private String title; // 标题
private String content; // 内容
private Admin admin; // 发布人
private Date date; // 发布日期
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Admin getAdmin() {
return admin;
}
public void setAdmin(Admin admin) {
this.admin = admin;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
@Override
public String toString() {
return "Post:[id=" + id + ",title=" + title + ",content=" + content
+ ",admin=" + admin + ",date=" + date + "]";
}
}
以上就是各个类的实例化,其实不管是eclipse还是idea都会快捷键生成set和get,还有toString,所有在自己编写的时候可以思考一下,不要直接复制粘贴,其实我在想到底要不要把所有代码都贴出来,因为后边代码会很长,走一步看一步吧。