jsp增删改查

这篇博客主要介绍了如何在JSP中利用Empdao类进行增删改查操作。通过EmpServiceImp实现了EmpDao接口,提供了login、list、del、findById、updata和findAll等方法。Servlet部分展示了EmpServlet的doGet和doPost方法,处理不同请求,如删除、查询和编辑员工信息。此外,还涉及了日期转换和数据回显的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Empdao类

package cn.hp.dao;
​
import cn.hp.entity.Dept;
import cn.hp.entity.Emp;
import cn.hp.util.DBHelper;
​
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
​
public class EmpDao {
​
    public Emp login(String name, String password) {
        Connection conn = DBHelper.getConn();
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            ps = conn.prepareStatement("select * from emp where name=? and password=?");
            ps.setObject(1, name);
            ps.setObject(2, password);
            rs = ps.executeQuery();
            Emp emp = new Emp();
            while (rs.next()) {
                emp.setId(rs.getInt("id"));
                emp.setName(rs.getString("name"));
                emp.setPassword(rs.getString("password"));
                emp.setSex(rs.getString("sex"));
                emp.setDid(rs.getInt("did"));
                emp.setBirthday((Date) rs.getObject("birthday"));
                System.out.println(emp);
                return emp;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBHelper.close(conn, ps, rs);
        }
​
        return null;
    }
​
    public List<Emp> list() {
        Connection conn = DBHelper.getConn();
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            ps = conn.prepareStatement("select e.*,d.`name` dname from emp e left join dept d on e.did =d.id\t");
            rs = ps.executeQuery();
            List<Emp> list = new ArrayList<>();
            while (rs.next()) {
                Emp emp = new Emp();
                emp.setId(rs.getInt("id"));
                emp.setName(rs.getString("name"));
                emp.setPassword(rs.getString("password"));
                emp.setSex(rs.getString("sex"));
                emp.setDid(rs.getInt("did"));
                emp.setDname(rs.getString("dname"));
                emp.setBirthday((Date) rs.getObject("birthday"));
                System.out.println(emp);
                list.add(emp);
            }
            return list;
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBHelper.close(conn, ps, rs);
        }
​
        return null;
    }
​
    public int del(Integer id) {
        int i = 0;
        Connection conn = DBHelper.getConn();
        PreparedStatement ps = null;
        try {
            ps = conn.prepareStatement("delete from emp where id=?");
            ps.setObject(1, id);
            i = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBHelper.close(conn, ps);
        }
        return i;
    }
​
    public Emp findById(Integer id) {
//        list()
        Connection conn = DBHelper.getConn();
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            ps = conn.prepareStatement("select * from emp where id=?");
            ps.setObject(1, id);
            rs = ps.executeQuery();
            Emp emp = new Emp();
            while (rs.next()) {
                emp.setId(rs.getInt("id"));
                emp.setName(rs.getString("name"));
                emp.setPassword(rs.getString("password"));
                emp.setSex(rs.getString("sex"));
                emp.setDid(rs.getInt("did"));
                emp.setBirthday((Date) rs.getObject("birthday"));
                System.out.println(emp);
                return emp;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBHelper.close(conn, ps, rs);
        }
        return null;
    }
​
    public int updata(String sql, Object[] obj) {
        int i = 0;
        Connection conn = DBHelper.getConn();
        PreparedStatement ps = null;
        try {
            ps = conn.prepareStatement(sql);
            System.out.println(sql);
            for (int j = 0; j < obj.length; j++) {
                System.out.println(obj[j]);
                ps.setObject(j + 1, obj[j]);
            }
            i = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBHelper.close(conn, ps);
        }
        return i;
    }
​
    public List<Dept> findAll() {
        Connection conn = DBHelper.getConn();
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            ps = conn.prepareStatement("select * from dept");
            rs = ps.executeQuery();
            List<Dept> list = new ArrayList<>();
            while (rs.next()) {
                Dept dept = new Dept();
                dept.setId(rs.getInt("id"));
                dept.setName(rs.getString("name"));
                System.out.println(dept);
                list.add(dept);
            }
            return list;
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBHelper.close(conn, ps, rs);
        }
        return null;
​
    }
}
​

封装包:

package cn.hp.entity;
​
import java.util.Date;
​
public class Emp{
    private Integer Id;
    private String Name;
    private String Password;
    private Date Birthday;
    private String Sex;
    private Integer Did;
    private String dname;
​
    public Emp(Integer id, String name, String password, Date birthday, String sex, Integer did, String dname) {
        Id = id;
        Name = name;
        Password = password;
        Birthday = birthday;
        Sex = sex;
        Did = did;
        this.dname = dname;
    }
​
    public Emp() {
    }
​
    public Integer getId() {
        return Id;
    }
​
    public void setId(Integer id) {
        Id = id;
    }
​
    public String getName() {
        return Name;
    }
​
    public void setName(String name) {
        Name = name;
    }
​
    public String getPassword() {
        return Password;
    }
​
    public void setPassword(String password) {
        Password = password;
    }
​
    public Date getBirthday() {
        return Birthday;
    }
​
    public void setBirthday(Date birthday) {
        Birthday = birthday;
    }
​
    public String getSex() {
        return Sex;
    }
​
    public void setSex(String sex) {
        Sex = sex;
    }
​
    public Integer getDid() {
        return Did;
    }
​
    public void setDid(Integer did) {
        Did = did;
    }
​
    public String getDname() {
        return dname;
    }
​
    public void setDname(String dname) {
        this.dname = dname;
    }
​
    @Override
    public String toString() {
        return "Emp{" +
                "Id=" + Id +
                ", Name='" + Name + '\'' +
                ", Password='" + Password + '\'' +
                ", Birthday=" + Birthday +
                ", Sex='" + Sex + '\'' +
                ", Did=" + Did +
                ", dname='" + dname + '\'' +
                '}';
    }
}
package cn.hp.entity;
public class Dept{
    private Integer Id;
    private String Name;
​
    public Dept(Integer id, String name) {
        Id = id;
        Name = name;
    }
​
    public Dept() {
    }
​
    public Integer getId() {
        return Id;
    }
​
    public void setId(Integer id) {
        Id = id;
    }
​
    public String getName() {
        return Name;
    }
​
    public void setName(String name) {
        Name = name;
    }
​
    @Override
    public String toString() {
        return "Dept{" +
                "Id=" + Id +
                ", Name='" + Name + '\'' +
                '}';
    }
}
package cn.hp.service;
​
import cn.hp.entity.Dept;
import cn.hp.entity.Emp;
​
import java.util.List;
​
public interface EmpService {
    Emp login(String name, String password);
​
    List<Emp> list();
​
    int del(Integer id);
​
    Emp findById(Integer id);
​
    int updata(String sql, Object[] obj);
​
    List<Dept> findAll();
}
​

接口:

package cn.hp.service;

import cn.hp.dao.EmpDao; import cn.hp.entity.Dept; import cn.hp.entity.Emp;

import java.util.List;

public class EmpServiceImp implements EmpService { EmpDao dao = new EmpDao(); @Override public Emp login(String name, String password) { return dao.login(name,password); }

@Override ​ public List<Emp> list() { ​ return dao.list(); ​ }

@Override ​ public int del(Integer id) { ​ return dao.del(id); ​ }

@Override ​ public Emp findById(Integer id) { ​ return dao.findById(id); ​ }

@Override ​ public int updata(String sql, Object[] obj) { ​ return dao.updata(sql,obj); ​ }

@Override ​ public List<Dept> findAll() { ​ return dao.findAll(); ​ } } Servlet:

package cn.hp.servlet;

import cn.hp.entity.Dept; import cn.hp.entity.Emp; import cn.hp.service.EmpService; import cn.hp.service.EmpServiceImp;

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.lang.annotation.Repeatable; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List;

@WebServlet("/EmpServlet") public class EmpServlet extends HttpServlet {

EmpService empService = new EmpServiceImp();

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ​ doGet(request, response); ​ }

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ​ request.setCharacterEncoding("UTF-8"); ​ response.setCharacterEncoding("UTF-8"); ​ String method = request.getParameter("method"); ​ if (method.equals("del")) { ​ del(request, response); ​ } else if (method.equals("list")) { ​ list(request, response); ​ } else if (method.equals("edit")) {//修改前的查询,也就是数据回显 ​ edit(request, response); ​ } else if (method.equals("editUpp")) {//真实修改的方法 ​ editUpp(request, response); ​ } ​ }

/** ​ * ajax 异步查询数据,以json格式返回 ​ * @param request ​ * @param response ​ */

private void editUpp(HttpServletRequest request, HttpServletResponse response) throws IOException { ​ Integer id = Integer.valueOf(request.getParameter("id")); ​ String name = request.getParameter("name"); ​ String birthday = request.getParameter("birthday"); ​ String sex = request.getParameter("sex"); ​ String did = request.getParameter("did");

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); ​ try { ​ Date parse = sdf.parse(birthday); ​ Object[] obj = {name, parse, sex, did, id}; ​ String sql = "update emp set name=?,birthday=?,sex=?,did=? where id = ?"; ​ int i = empService.updata(sql, obj); ​ System.out.println("i=" + i); ​ } catch (ParseException e) { ​ e.printStackTrace(); ​ } ​ //重定向 ​ response.sendRedirect("/EmpServlet?method=list"); ​ }

private void edit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取前台传递的id, 根据id查询数据 ​ Integer id = Integer.valueOf(request.getParameter("id")); ​ Emp emp = empService.findById(id); // 放到缓存中 ​ request.getSession().setAttribute("emp", emp); ​ System.out.println(emp); // 查询部门信息,为了在页面展示下拉列表 ​ //为了快速实现效果,不单独创建dept业务成代码,但是你们进行实现的时候,要保证mvc ​ List<Dept> detp = (List<Dept>) empService.findAll(); ​ request.getSession().setAttribute("listDept", detp); // 并跳转到对应的页面 ​ request.getRequestDispatcher("/WEB-INF/jsp/edit.jsp").forward(request, response); ​ }

private void del(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ​ Integer id = Integer.valueOf(request.getParameter("id")); ​ int i = empService.del(id); ​ System.out.println(i > 0 ? "成功!" : "失败!"); ​ list(request, response); ​ }

private void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ​ List<Emp> list = empService.list(); ​ request.getSession().setAttribute("emps", list); ​ request.getRequestDispatcher("/WEB-INF/jsp/home.jsp").forward(request, response); ​ } }

package cn.hp.servlet;
​
import cn.hp.entity.Emp;
import cn.hp.service.EmpService;
import cn.hp.service.EmpServiceImp;
​
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("/LoginServlet")//controller
public class LoginServlet extends HttpServlet {
​
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");//编码格式设置
        //接收参数
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        EmpService empService = new EmpServiceImp();
        Emp emp= empService.login(name,password );
        if(emp!=null){
            request.getSession().setAttribute("emp", emp);
//            request.getRequestDispatcher("/WEB-INF/jsp/home.jsp").forward(request, response);
            request.getRequestDispatcher("/EmpServlet?method=list").forward(request, response);
        }else{
            request.getRequestDispatcher("/index.jsp").forward(request, response);
        }
​
    }
​
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}
​

Dbhelper连接数据库

package cn.hp.util;
​
import java.sql.*;
​
public class DBHelper {
​
    //驱动
    private static String driver = "com.mysql.jdbc.Driver";
    //访问数据的链接路径
    private static String url = "jdbc:mysql://mydb?useSSL=false&serverTimezone=UTC&characterEncoding=utf8";
    private static String name = "root";
    private static String pwd = "123456";
    private static Connection conn;
    private static PreparedStatement ps;
    private static ResultSet rs;
​
​
    static {
        try {
            Class.forName(driver);
            System.out.println("驱动加载成功!");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
​
    /**
     * 获取链接
     */
    public static Connection getConn() {
        try {
            conn = DriverManager.getConnection(url, name, pwd);
            System.out.println("数据库链接建立成功!");
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
​
    /**
     * 关闭资源
     */
    public static void close(Connection conn, PreparedStatement ps, ResultSet rs) {
        try {
            if (conn != null) conn.close();
            if (ps != null) ps.close();
            if (rs != null) rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
​
    public static void close(Connection conn, PreparedStatement ps) {
        close(conn, ps, null);
    }
​
    public static void close(Connection conn) {
        close(conn, null, null);
    }
​
    public static void main(String[] args) {
        System.out.println(getConn());
    }
}
​
​
​

前台jsp页面不难,自己写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值