前言
前面我们已经学习了怎么整合SSH框架了。是时候拿一个小项目来练练手了….我们现在要设计一个企业人事管理系统…
需求:
要求对员工信息进行维护;
后台系统先登陆,才能操作员工: 添加/修改/删除
没有登陆,只能查看列表,不能操作!
功能分类:
【管理员模块】
注册/登陆
【员工模块】
1) 添加一个员工, 指定添加的部门
2) 对指定的员工信息修改
3) 删除选择员工
4) 列表展示
数据库设计
管理员表: t_admin
员工表: t_user
部门: t_dept
搭建配置环境
编写JavaBean 和映射文件
JavaBean编写
Admin.java
public class Admin {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int 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;
}
}
User.java
public class User {
private int id;
private String username;
private Dept dept;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
}
Dept.java
public class Dept {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
映射文件
Dept.hbm.xml
/p>
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
User.hbm.xml
/p>
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
Admin.hbm.xml
/p>
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
编写Dao
编写BaseDao
package zhongfucheng.dao;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import java.lang.reflect.ParameterizedType;
import java.util.List;
/**
* Created by ozc on 2017/5/16.
*/
public abstract class BaseDao {
// 容器注入sessionFactory
@Autowired
private SessionFactory sessionFactory;
//子类的类型
private Class clazz;
//子类的名称
private String clazzName;
public BaseDao(){
clazz = (Class) this.getClass(); //拿到的是子类
ParameterizedType pt &