创建部门、员工表和工资等级表代码
时间: 2024-01-20 08:04:11 浏览: 219
下面是使用MySQL语言创建部门表、员工表和工资等级表的示例代码:
创建部门表:
```
CREATE TABLE department (
dept_id INT NOT NULL AUTO_INCREMENT,
dept_name VARCHAR(50) NOT NULL,
PRIMARY KEY (dept_id)
);
```
创建员工表:
```
CREATE TABLE employee (
emp_id INT NOT NULL AUTO_INCREMENT,
emp_name VARCHAR(50) NOT NULL,
dept_id INT NOT NULL,
salary DECIMAL(10,2) NOT NULL,
hire_date DATE NOT NULL,
PRIMARY KEY (emp_id),
FOREIGN KEY (dept_id) REFERENCES department(dept_id)
);
```
创建工资等级表:
```
CREATE TABLE salary_grade (
grade INT NOT NULL,
min_salary DECIMAL(10,2) NOT NULL,
max_salary DECIMAL(10,2) NOT NULL,
PRIMARY KEY (grade)
);
```
以上是示例代码,可以根据实际需求进行修改。
相关问题
用java、mysql、html、css、jsp、servlet开发一个企业工资管理系统,给我代码并解释 要求如下: 1、数据录入功能 主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、 删除,迅速准确地完成各种工资信息的统计计算和汇总。 2、数据查询功能 系统可以提供以下查询功能: 1) 员工考勤情况 2) 员工工种情况,反映员工的工种、等级,岗位工资等信息 3) 员工津贴信息情况,反映员工的加班时间,加班类别、加班天数、岗位补贴情况等 4) 员工基本信息情况 5) 员工月工资情况:年,月,职工号,姓名,部门名,基本工资,病假扣款,事假扣款,应发工资,实发工资 3、数据统计功能 1) 统计员工年终奖金 2) 统计每部门月工资情况
很抱歉,由于篇幅过长,无法在这里给您提供完整的代码。但是,我可以为您提供一些开发思路和代码片段,帮助您实现这个企业工资管理系统。
首先,我们需要创建一个Java Web项目,并且设置好项目的相关配置。然后,我们在项目中创建一个工具类,用于连接数据库和执行SQL语句。以下是一个简单的数据库工具类:
```java
public class DBUtil {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/gsalary";
private static String user = "root";
private static String password = "root";
private static Connection conn = null;
private static PreparedStatement pstmt = null;
private static ResultSet rs = null;
public static Connection getConnection() {
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static ResultSet executeQuery(String sql, Object[] params) {
try {
conn = getConnection();
pstmt = conn.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i + 1, params[i]);
}
}
rs = pstmt.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
public static int executeUpdate(String sql, Object[] params) {
int result = 0;
try {
conn = getConnection();
pstmt = conn.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
pstmt.setObject(i + 1, params[i]);
}
}
result = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void closeAll() {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
接下来,我们需要创建一个Servlet,用于处理用户提交的请求。以下是一个简单的Servlet,用于处理查询员工基本信息的请求:
```java
public class EmployeeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String empNo = request.getParameter("empNo");
String sql = "select * from employee where emp_no=?";
Object[] params = { empNo };
ResultSet rs = DBUtil.executeQuery(sql, params);
try {
if (rs.next()) {
String empName = rs.getString("emp_name");
String deptName = rs.getString("dept_name");
double basicSalary = rs.getDouble("basic_salary");
request.setAttribute("empName", empName);
request.setAttribute("deptName", deptName);
request.setAttribute("basicSalary", basicSalary);
request.getRequestDispatcher("/employee.jsp").forward(request, response);
} else {
request.setAttribute("errorMsg", "员工不存在!");
request.getRequestDispatcher("/error.jsp").forward(request, response);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.closeAll();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
```
在这个Servlet中,我们首先获取用户提交的员工编号empNo,然后根据empNo从数据库中查询员工的基本信息,包括员工姓名empName、所在部门deptName和基本工资basicSalary。如果查询成功,将这些信息存储到request中,并且转发到employee.jsp页面进行显示。如果查询失败,将错误信息存储到request中,并且转发到error.jsp页面进行显示。
最后,我们需要创建一个JSP页面,用于显示查询结果。以下是一个简单的employee.jsp页面:
```jsp
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>员工基本信息</title>
</head>
<body>
<h1>员工基本信息</h1>
<table border="1">
<tr>
<th>姓名</th>
<td><%= request.getAttribute("empName") %></td>
</tr>
<tr>
<th>部门</th>
<td><%= request.getAttribute("deptName") %></td>
</tr>
<tr>
<th>基本工资</th>
<td><%= request.getAttribute("basicSalary") %></td>
</tr>
</table>
</body>
</html>
```
在这个页面中,我们使用了JSP的表达式语言来显示员工的基本信息,这些信息是从Servlet中传递过来的。
以上是一个简单的企业工资管理系统的代码片段,您可以根据自己的实际情况进行开发。
class Employee { public: int id; // 员工编号 char name[20]; // 员工姓名 char position[20]; // 员工岗位厂长部门主管车间主任普通员工 int k; // 等级 int num; // 绩效得分/计件个数(根据员工具体类别而定) int fulldays, actualdays, overdays; // 应到天数实到天数加班天数 float bonus; // 奖励工资 };
这段代码定义了一个名为 Employee 的类,它包含了员工的编号、姓名、岗位、等级、绩效得分、工作日数、加班天数和奖励工资等信息。基于这个类,你可以创建员工对象,并对员工的属性进行操作和管理。
以下是一个重新编写的 Employee 类的示例代码:
```
class Employee {
public:
Employee(int id, const char* name, const char* position, int k, int num, int fulldays, int actualdays, int overdays, float bonus)
: id(id), k(k), num(num), fulldays(fulldays), actualdays(actualdays), overdays(overdays), bonus(bonus) {
strcpy(this->name, name);
strcpy(this->position, position);
}
int getId() const {
return id;
}
const char* getName() const {
return name;
}
const char* getPosition() const {
return position;
}
int getLevel() const {
return k;
}
int getPerformance() const {
return num;
}
int getFullDays() const {
return fulldays;
}
int getActualDays() const {
return actualdays;
}
int getOverDays() const {
return overdays;
}
float getBonus() const {
return bonus;
}
void setName(const char* name) {
strcpy(this->name, name);
}
void setPosition(const char* position) {
strcpy(this->position, position);
}
void setLevel(int k) {
this->k = k;
}
void setPerformance(int num) {
this->num = num;
}
void setFullDays(int fulldays) {
this->fulldays = fulldays;
}
void setActualDays(int actualdays) {
this->actualdays = actualdays;
}
void setOverDays(int overdays) {
this->overdays = overdays;
}
void setBonus(float bonus) {
this->bonus = bonus;
}
private:
int id;
char name[20];
char position[20];
int k;
int num;
int fulldays;
int actualdays;
int overdays;
float bonus;
};
```
这个示例代码重新定义了 Employee 类,并增加了访问器和设置器,以便对类的私有成员进行访问和修改。同时,构造函数也被重新定义,以便在创建对象时初始化类的私有成员。
阅读全文