<%--
Created by IntelliJ IDEA.
User: Lenovo
Date: 2021/12/6
Time: 16:32
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="C" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
<style>
table trth, td {
text-align: center;
}
button {
border: none;
width: 80px;
height: 27px;
border-radius: 5px;
background-color: #888888;
box-sizing: content-box;
}
input {
width: 180px;
height: 25px;
opacity: 0.5;
border-radius: 5px;
margin-right: 5px;
}
</style>
</head>
<body>
<h3>员工信息</h3>
<hr>
<table border="1px" width="600px" cellpadding="8px" cellspacing="0" align="center" bgcolor="#c0c0c0">
<tr>
<th colspan="6" style="text-align: center"><input type="text" placeholder="请输入eid进行查找"></th>
<th><button>查找</button></th>
</tr>
<form action="add" method="post">
<tr>
<th><input type="text" placeholder="eid" name="eid"></th>
<th><input type="text" placeholder="name" name="name"></th>
<th><input type="date" placeholder="birthday" name="birthday"></th>
<th><input type="text" placeholder="phone" name="phone"></th>
<th><input type="text" placeholder="salary" name="salary"></th>
<th><input type="text" placeholder="did" name="did"></th>
<th>
<button>添加</button>
</th>
</tr>
</form>
<tr>
<th>eid</th>
<th>name</th>
<th>birthday</th>
<th>phone</th>
<th>salary</th>
<th>did</th>
<th>修改</th>
</tr>
<c:forEach items="${emps}" var="emp">
<tr>
<td>${emp.eid}</td>
<td>${emp.name}</td>
<td>${emp.birthday}</td>
<td>${emp.phone}</td>
<td>${emp.salary}</td>
<td>${emp.did}</td>
<td style="text-align: center">
<button onclick="remove(${emp.eid})">删除</button>
|
<button onclick="eidemp(${emp.eid})">修改</button>
</td>
</tr>
<c:choose>
<c:when test="${emp.eid==index}">
<tr>
<form action="eidemp">
<th><input type="text" placeholder="${emp.eid}" name="eid" value="${index}" readonly></th>
<th><input type="text" placeholder="name" name="name" value="${emp.name}"></th>
<th><input type="date" placeholder="birthday" name="birthday" value="${emp.birthday}"></th>
<th><input type="text" placeholder="phone" name="phone" value="${emp.phone}"></th>
<th><input type="text" placeholder="salary" name="salary" value="${emp.salary}"></th>
<th><input type="text" placeholder="did" name="did" value="${emp.did}"></th>
<th>
<button type="submit">确认修改</button>
</th>
</form>
</tr>
</c:when>
</c:choose>
</c:forEach>
</table>
<script>
function remove(eid) {
window.location.href = "http://localhost:8080/web1206_war_exploded/EmpDeleteServlet?eid=" + eid
}
function eidemp(eid) {
window.location.href = "http://localhost:8080/web1206_war_exploded/form1?eid=" + eid
}
</script>
</body>
</html>
package com.yq.dao;
import com.yq.util.JdbcUtil;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class BaseDao {
public <T> List<T> query(Class<T> cla, String sql, Object... params) {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
List<T> list = new ArrayList<>();
try {
connection = JdbcUtil.getConnection();
statement = connection.prepareStatement(sql);
setParams(statement, params);
//执行查询
resultSet = statement.executeQuery();
ResultSetMetaData metaData = resultSet.getMetaData();
while (resultSet.next()) {
Constructor<T> constructor = cla.getConstructor();
T t = constructor.newInstance();
int columnCount = metaData.getColumnCount();
for (int i = 0; i < columnCount; i++) {
String columnName = metaData.getColumnName(i + 1);
// System.out.println(columnName);
Field field = cla.getDeclaredField(columnName);
field.setAccessible(true);
field.set(t, resultSet.getObject(i + 1));
}
list.add(t);
}
} catch (Exception throwables) {
throwables.printStackTrace();
} finally {
JdbcUtil.release(null, statement, connection);
}
return list;
}
public boolean execute(String sql, Object... params) {
Connection connection = null;
PreparedStatement statement = null;
try {
connection = JdbcUtil.getConnection();
statement = connection.prepareStatement(sql);
setParams(statement, params);
return statement.executeUpdate() > 0;
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
JdbcUtil.release(null, statement, connection);
}
return false;
}
public void setParams(PreparedStatement statement, Object... params) throws SQLException {
if (params != null && params.length > 0) {
for (int i = 0; i < params.length; i++) {
statement.setObject(i + 1, params[i]);
}
}
}
}
package com.yq.dao;
import com.yq.model.Emp;
import java.util.List;
public class EmployeeDao extends BaseDao{
public boolean saveEmployee(Emp emp){
String sql = "insert into emp(eid,name,birthday,phone,salary,did)values(?,?,?,?,?,?)";
return execute(sql,emp.getEid(),emp.getName(),emp.getBirthday(),emp.getPhone(),emp.getSalary(),emp.getDid());
}
public List<Emp> findAll(){
String sql = "select * from emp";
return query(Emp.class,sql);
}
public boolean delete(int eid){
String sql="delete from emp where eid=?";
return execute(sql,eid);
}
public boolean eidEmp(Emp emp){
String sql ="update emp set name=?,birthday=?,phone=?,salary=?,did=? where eid=?";
return execute(sql,emp.getName(),emp.getBirthday(),emp.getPhone(),emp.getSalary(),emp.getDid(),emp.getEid());
}
public Emp findById(int id){
String sql = "select * from emp where eid=?";
return query(Emp.class,sql,id).get(0);
}
}
package com.yq.model;
import java.sql.Date;
public class Emp {
private int eid;
private String name;
private Date birthday;
private String phone;
private double salary;
private int did;
public Emp() {
}
public Emp(int eid, String name, Date birthday, String phone, double salary, int did) {
this.eid = eid;
this.name = name;
this.birthday = birthday;
this.phone = phone;
this.salary = salary;
this.did = did;
}
public int getEid() {
return eid;
}
public void setEid(int eid) {
this.eid = eid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public int getDid() {
return did;
}
public void setDid(int did) {
this.did = did;
}
@Override
public String toString() {
return "Emp{" +
"eid=" + eid +
", name='" + name + '\'' +
", birthday=" + birthday +
", phone='" + phone + '\'' +
", salary=" + salary +
", did=" + did +
'}';
}
}
package com.yq.servlet;
import com.yq.dao.EmployeeDao;
import com.yq.model.Emp;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Date;
@WebServlet("/add")
public class EmpAddServlet extends HttpServlet {
EmployeeDao employeeDao = new EmployeeDao();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int eid = Integer.parseInt(req.getParameter("eid"));
String name = req.getParameter("name");
String birthday = req.getParameter("birthday");
String phone = req.getParameter("phone");
double salary = Double.parseDouble(req.getParameter("salary"));
int did = Integer.parseInt(req.getParameter("did"));
System.out.println("添加的信息:"+eid + "," + name + "," + birthday + "," + phone + "," + salary + "," + did);
Emp emp = new Emp();
emp.setEid(eid);
emp.setName(name);
emp.setBirthday(Date.valueOf(birthday));
emp.setPhone(phone);
emp.setSalary(salary);
emp.setDid(did);
employeeDao.saveEmployee(emp);
req.getRequestDispatcher("/form1").forward(req,resp);
}
}
package com.yq.servlet;
import com.yq.dao.EmployeeDao;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/EmpDeleteServlet")
public class EmpDeleteServlet extends HttpServlet {
EmployeeDao employeeDao = new EmployeeDao();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String eid = req.getParameter("eid");
System.out.println(eid);
int id = Integer.parseInt(eid);
employeeDao.delete(id);
req.getRequestDispatcher("/form1").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
package com.yq.servlet;
import com.yq.dao.EmployeeDao;
import com.yq.model.Emp;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Date;
@WebServlet("/eidemp")
public class EmpEidServlet extends HttpServlet {
EmployeeDao employeeDao = new EmployeeDao();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String eid =req.getParameter("eid");
String name = req.getParameter("name");
String birthday = req.getParameter("birthday");
String phone = req.getParameter("phone");
String salary = req.getParameter("salary");
String did =req.getParameter("did");
System.out.println("修改信息:"+eid + "," + name + "," + birthday + "," + phone + "," + salary + "," + did);
Emp emp = new Emp();
emp.setEid(Integer.parseInt(eid));
emp.setName(name);
emp.setBirthday(Date.valueOf(birthday));
emp.setPhone(phone);
emp.setSalary(Double.parseDouble(salary));
emp.setDid(Integer.parseInt(did));
employeeDao.eidEmp(emp);
req.getRequestDispatcher("/form1").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
package com.yq.servlet;
import com.yq.dao.EmployeeDao;
import com.yq.model.Emp;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.sql.Date;
import java.util.List;
@WebServlet("/form1")
public class EmpServlet extends HttpServlet {
EmployeeDao employeeDao = new EmployeeDao();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// resp.setContentType("text/html;charset=UTF-8");
// PrintWriter out = resp.getWriter();
// out.append("<ul>");
// for (int i = 0; i < list.size(); i++) {
// out.append("<li>" + list.get(i) + "</li>");
// }
// out.append("</ul>");
String eid = req.getParameter("eid");
System.out.println("获取修改用户的eid=" + eid);
if (eid != null && !eid.equals("")) {
Integer index = Integer.parseInt(eid);
req.setAttribute("index", index);
}
List<Emp> list = employeeDao.findAll();
req.setAttribute("emps", list);
req.getRequestDispatcher("/list.jsp").forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
package com.yq.util;
import com.alibaba.druid.pool.DruidDataSource;
import javax.sql.DataSource;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JdbcUtil {
private static String driver;
private static String url;
private static String username;
private static String password;
private static DataSource source;
static {
Properties properties = new Properties();
try {
// InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
// properties.load(in);
properties.load(new FileInputStream("E:\\javaEE-workspace\\yqjavawork\\web1206\\src\\jdbc.properties"));
driver = properties.getProperty("jdbc.driver");
url = properties.getProperty("jdbc.url");
username = properties.getProperty("jdbc.username");
password = properties.getProperty("jdbc.password");
//创建数据库连接池对象
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(username);
ds.setPassword(password);
source = ds;
} catch (IOException e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
try {
return source.getConnection();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return null;
}
public static void release(ResultSet resultSet, Statement statement, Connection connection) {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>JSP</title>
</head>
<body>
<form action="form1">
<p><input type="submit" value="获取员工表信息"></p>
</form>
</body>
</html>
版权声明:本文为qq_57633918原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。