📄 departmentdao.java
字号:
/**
* -----------------------------------------------------------------------------
* 创建时间:2006年2月9日
* 作 者:孙丰伟
* 功 能:系统部门管理,系统对部门的管理主要有(参看案例分析中的用例图):
* 1.建立新部门, method: addDepartment()
* 2.修改部门, method: updateDepartment()
* 3.删除部门, method: removeDepartmentById(),要确保部门中没有员工
* 4.浏览部门, method: getDepartments()
* 5.确认某部门是否存在,method: isDepartmentById()
* 6.返回所有部门, method: getAllDepartments()
* ------------------------------------------------------------------------------
*/
package cn.sunfengwei.employee.model;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Vector;
import cn.sunfengwei.employee.db.ConnectDB;
public class DepartmentDAO {
private DepartmentDTO department;
private Connection con;
private PreparedStatement pstmt;
private Statement stmt;
private ResultSet rs;
public DepartmentDAO() {
super();
}
// 1.添加新部门
public boolean addDepartment(DepartmentDTO department)
{
boolean flag = false;
con = ConnectDB.getConnection();
String strQuery = "insert into department values(?,?,?,?,?)";
try {
pstmt = con.prepareStatement(strQuery);
pstmt.setInt(1, department.getDID());
pstmt.setString(2, department.getName());
pstmt.setString(3, department.getDescription());
pstmt.setString(4, department.getLeader());
pstmt.setString(5, department.getPhone());
if (pstmt.executeUpdate() > 0)
flag = true;
pstmt.close();
con.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return flag;
}
// 2. 如果部门已经存在,则修改原有部门
public boolean updateDepartment(DepartmentDTO department)
{
boolean flag = false;
con = ConnectDB.getConnection();
String strQuery = "update department set name=?,description=?,leader=?,phone=? where DID=?";
try {
pstmt = con.prepareStatement(strQuery);
pstmt.setString(1, department.getName());
pstmt.setString(2, department.getDescription());
pstmt.setString(3, department.getLeader());
pstmt.setString(4, department.getPhone());
pstmt.setInt(5, department.getDID());
if (pstmt.executeUpdate() > 0)
flag = true;
pstmt.close();
con.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return flag;
}
// 3. 移除部门,要确保部门下没有在职员工,否则不能删除
public boolean removeDepartmentById(int DID)
{
//到员工表或其它使用部门表的表中去查询
boolean flag = false;
con = ConnectDB.getConnection();
String strQuery = "delete from department where DID=?";
try {
pstmt = con.prepareStatement(strQuery);
pstmt.setInt(1,DID);
if (pstmt.executeUpdate() > 0)
flag = true;
pstmt.close();
con.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return flag;
}
// 4. 是否是已存在的用部门
public boolean isDepartmentById()
{
boolean flag = false;
con = ConnectDB.getConnection();
String strQuery = "select count(*) department where DID=?";
try {
pstmt = con.prepareStatement(strQuery);
pstmt.setInt(1, department.getDID());
rs=pstmt.executeQuery();
rs.next();
if(rs.getInt(1)>0)
flag = true;
rs.close();
pstmt.close();
con.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return flag;
}
//5. 浏览部门信息
public Vector<DepartmentDTO> getDepartments(DepartmentDTO department)
{
Vector<DepartmentDTO> departments=new Vector<DepartmentDTO>();
con = ConnectDB.getConnection();
String strQuery = "select * from department where name like ? and description like ?" +
" leader like ? and phone like ?";
try {
pstmt = con.prepareStatement(strQuery);
pstmt.setString(1, "%"+department.getName()+"%");
pstmt.setString(2, "%"+department.getDescription()+"%");
pstmt.setString(2, "%"+department.getLeader()+"%");
pstmt.setString(2, "%"+department.getPhone()+"%");
rs=pstmt.executeQuery();
while(rs.next())
{
this.department=new DepartmentDTO();
this.department.setDID(rs.getInt(1));
this.department.setName(rs.getString(2));
this.department.setDescription(rs.getString(3));
this.department.setLeader(rs.getString(4));
this.department.setPhone(rs.getString(5));
departments.add(department);
}
rs.close();
pstmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
return departments;
}
// 5. 浏览部门信息
public Vector<DepartmentDTO> getAllDepartments()
{
Vector<DepartmentDTO> departments=new Vector<DepartmentDTO>();
con = ConnectDB.getConnection();
String strQuery = "select * from department";
try {
stmt = con.createStatement();
rs=stmt.executeQuery(strQuery);
while(rs.next())
{
this.department=new DepartmentDTO();
this.department.setDID(rs.getInt(1));
this.department.setName(rs.getString(2));
this.department.setDescription(rs.getString(3));
this.department.setLeader(rs.getString(4));
this.department.setPhone(rs.getString(5));
departments.add(department);
}
rs.close();
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
return departments;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -