📄 empdao.java
字号:
package com.xaccp.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import java.util.Vector;
import com.xaccp.db.DBManager;
import com.xaccp.vo.EmpVo;
import com.xaccp.vo.LevelVo;
import com.xaccp.vo.PowerVo;
public class EmpDao {
/**
* 该类为员工的dao
*/
/**
* 根据员工编号得到员工的详细信息
*/
public EmpVo getEmp(int empId){
//1 连接
Connection con=DBManager.getConnection();
//2 sql
String sql="select emp.empId,emp.empName,emp.empPass,emp.empSex,emp.empLastLoginTime,[level].levelId,[level].levelName,power.powerId,power.powerName"+
" from power inner join emp_power ON power.powerId = emp_power.powerId RIGHT OUTER JOIN emp INNER JOIN [level] ON emp.empLevelId = [level].levelId ON emp_power.empId = emp.empId "+
"where emp.empId=?";
//3 execute sql
try {
PreparedStatement ps=con.prepareStatement(sql);
//预处理 sql 语句
ps.setInt(1,empId);
ResultSet rs=ps.executeQuery();
//Empvo实体
EmpVo empvo=null;
//Power待遇
List powers=new Vector();
while(rs.next()){
if(empvo==null){
empvo=new EmpVo();
empvo.setPowers(powers); //将员工实体与待遇关联起来
}
//将结果集放入员工的实体中
//a 获取员工表信息
empvo.setEmpId(rs.getInt("empId"));
empvo.setEmpName(rs.getString("empName"));
empvo.setEmpPass(rs.getString("empPass"));
empvo.setEmpSex(rs.getInt("empSex"));
empvo.setEmpLastLoginTime(rs.getString("empLastLoginTime"));
// b 获取员工等级表信息
LevelVo levelvo=new LevelVo();
levelvo.setLevelId(rs.getInt("levelId"));
levelvo.setLevelName(rs.getString("levelName"));
empvo.setLevel(levelvo);
//c 获取员工待遇信息
int powerId=rs.getInt("powerId");
String powerName=rs.getString("powerName");
if(powerId!=0 && powerName!=null){
PowerVo powervo=new PowerVo();
powervo.setPowerId(powerId);
powervo.setPowerName(powerName);
powers.add(powervo);
}
}
rs.close();
ps.close();
con.close();
return empvo;
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return null;
}
/**
* 在登陆界面验证用户名和密码
*/
public EmpVo checkEmp(EmpVo vo){
//1 连接
Connection con=DBManager.getConnection();
//2 sql
String sql="select empId from emp where empName=? and empPass=?";
try {
//3 execute sql
PreparedStatement ps=con.prepareStatement(sql);
//处理预处理 sql 语句中的字段
ps.setString(1,vo.getEmpName());
ps.setString(2,vo.getEmpPass());
ResultSet rs=ps.executeQuery();
EmpVo empvo=null;
while(rs.next()){
empvo=this.getEmp(rs.getInt("empId"));
}
rs.close();
ps.close();
con.close();
return empvo;
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return null;
}
/**
* 更新用户上次的登陆时间为该次
*/
public boolean upateLastLoginTime(EmpVo vo){
//1 连接
Connection con=DBManager.getConnection();
//2 sql
String sql="update emp set empLastLoginTime= getdate() where empId=?";
try {
//3 execute sql
PreparedStatement ps=con.prepareStatement(sql);
//处理预处理 sql 语句的字段
ps.setInt(1,vo.getEmpId());
int date=ps.executeUpdate();
ps.close();
con.close();
return (date==1);
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return false;
}
/**
* 得到所有员工的信息
*/
public List getAllEmp(){
//1 连接
Connection con=DBManager.getConnection();
//2 sql
String sql="select empId from emp order by empId";
try {
//3 execute sql
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(sql);
List list=new Vector();
while(rs.next()){
EmpVo empvo=this.getEmp(rs.getInt("empId"));
list.add(empvo);
}
rs.close();
st.close();
con.close();
return list;
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
return null;
}
}
/**
* 删除员工
*/
public void delEmp(int empId){
//1 连接
Connection con=DBManager.getConnection();
//2 sql
String sql="delete from emp where empId=?";
try {
//3 execute sql
PreparedStatement ps=con.prepareStatement(sql);
//处理预处理 sql 语句
ps.setInt(1,empId);
ps.executeUpdate();
ps.close();
con.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
/**
* 修改员工信息
*/
public void updateEmp(EmpVo empVo){
//1 连接
Connection con=DBManager.getConnection();
//2 sql
String sql="update emp set empName=?,empPass=?,empSex=?,empLevelId=? where empId=?";
try {
//3 execute sql
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1,empVo.getEmpName());
ps.setString(2,empVo.getEmpPass());
ps.setInt(3,empVo.getEmpSex());
ps.setInt(4,empVo.getLevel().getLevelId());
ps.setInt(5,empVo.getEmpId());
ps.executeUpdate();
ps.close();
con.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
/**
* 添加员工信息
*/
public void addEmp_Power(EmpVo empVo){
//1 连接
Connection con=DBManager.getConnection();
//2 sql
String sql="insert into emp (empName,empPass,empSex,empLevelId) values(?,?,?,?)";
try {
//3 execute sql
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1,empVo.getEmpName());
ps.setString(2,empVo.getEmpPass());
ps.setInt(3,empVo.getEmpSex());
ps.setInt(4,empVo.getLevel().getLevelId());
ps.executeUpdate();
ps.close();
con.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -