⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 departmentdao.java

📁 呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜4444444444444444444
💻 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 + -