entity层和DBUtil层同增的操作,今天是删除操作(代码部分加上之前的):
dao层:
package dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import DBUtil.DBUtil; import entity.Book; import entity.Lendbook; public class Dao { //根据书的姓名查找 public Book getbyname(String bname) { String sql = "select * from Book where bname ='" + bname + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; Book b = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String bianhao = rs.getString("bianhao"); String bname2 = rs.getString("bname"); String wname = rs.getString("wname"); String bhome=rs.getString("bhome"); int num = rs.getInt("num"); b = new Book(id,bianhao,bname2,wname,bhome,num); } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return b; } //添加新书信息 public boolean addBook(Book stu) { Connection conn = DBUtil.getConn(); PreparedStatement pstmt = null; boolean f = false; int a = 0; try { String sql = "insert into Book(bianhao,bname,wname,bhome,num) value(?,?,?,?,?)"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, stu.getBianhao()); pstmt.setString(2, stu.getBname()); pstmt.setString(3, stu.getWname()); pstmt.setString(4, stu.getBhome()); pstmt.setLong(5, stu.getNum()); a = pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(pstmt, conn); } if (a > 0) f = true; return f; } //删除图书信息,根据书名删除 public boolean deleteBook(String bname) { String sql="delete from Book where bname='" + bname + "'"; Connection conn = DBUtil.getConn(); Statement state = null; int a = 0; boolean f = false; try { state = conn.createStatement(); a = state.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } //浏览图书信息 public List<Book> liulanbook() { String sql = "select * from Book"; List<Book> list = new ArrayList<>(); Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); Book bean = null; while (rs.next()) { int id = rs.getInt("id"); String bianhao = rs.getString("bianhao"); String bname = rs.getString("bname"); String wname = rs.getString("wname"); String bhome=rs.getString("bhome"); int num = rs.getInt("num"); bean = new Book(id,bianhao,bname,wname,bhome,num); list.add(bean); } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return list; } }
servlet层:
package servlet; import java.io.IOException; import java.util.List; 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 dao.Dao; import entity.Book; @WebServlet("/Servlet") public class Servlet extends HttpServlet { private static final long serialVersionUID = 1L; Dao dao = new Dao(); protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); String method = req.getParameter("method"); if ("addBook".equals(method)) { addBook(req, resp); } else if ("liulanbook".equals(method)) { liulanbook(req, resp); } else if ("getbyname".equals(method)) { getbyname(req, resp); } else if ("deleteBook".equals(method)) { deleteBook(req, resp); } } private void deleteBook(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { // TODO 自动生成的方法存根 req.setCharacterEncoding("utf-8"); String bname = req.getParameter("bname"); if (dao.deleteBook(bname)) { req.setAttribute("message", "删除成功"); req.getRequestDispatcher("Servlet?method=liulanbook2").forward(req, resp); } else { req.setAttribute("message", "删除失败"); req.getRequestDispatcher("Servlet?method=liulanbook2").forward(req, resp); } } private void addBook(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); String bianhao = req.getParameter("bianhao"); String bname = req.getParameter("bname"); String wname = req.getParameter("wname"); String bhome = req.getParameter("bhome"); int num = Integer.parseInt(req.getParameter("num")); Book book = new Book(bianhao, bname, wname, bhome, num); if (dao.addBook(book)) { req.setAttribute("book", book); req.setAttribute("message", "添加成功"); req.getRequestDispatcher("addBook.jsp").forward(req, resp); } else { req.setAttribute("message", "书籍信息重复,请重新输入"); req.getRequestDispatcher("addBook.jsp").forward(req, resp); } } private void getbyname(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); String bname = req.getParameter("bname"); Book b=new Book(); b.setBname(bname); b= dao.getbyname(bname); if(b==null) { req.setAttribute("message", "未找到该书籍"); req.getRequestDispatcher("xiugaiBook.jsp").forward(req, resp); } else { req.setAttribute("b", b); req.getRequestDispatcher("xiugai2.jsp").forward(req,resp); } } private void liulanbook(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.setCharacterEncoding("utf-8"); List<Book> tens = dao.liulanbook(); req.setAttribute("tens", tens); req.getRequestDispatcher("list.jsp").forward(req, resp); } }
在list页面中,删除功能直接调用函数就可以实现
<td><a href="Servlet?method=deleteBook&bname=${item.bname }" onClick="return confirm('确定删除吗?');">删除</a>