今日收获

entity层和DBUtil层同增的操作,今天是修改操作(代码部分加上之前的):

dao层:

复制代码
  1 package dao;
  2 
  3 import java.sql.Connection;
  4 import java.sql.PreparedStatement;
  5 import java.sql.ResultSet;
  6 import java.sql.SQLException;
  7 import java.sql.Statement;
  8 import java.util.ArrayList;
  9 import java.util.List;
 10 
 11 import DBUtil.DBUtil;
 12 import entity.Book;
 13 import entity.Lendbook;
 14 
 15 
 16 
 17 
 18 public class Dao {
 19     //根据书的姓名查找
 20     public Book getbyname(String bname) {
 21         String sql = "select * from Book where bname ='" + bname + "'";
 22         Connection conn = DBUtil.getConn();
 23         Statement state = null;
 24         ResultSet rs = null;
 25         Book b = null;
 26         
 27         try {
 28             state = conn.createStatement();
 29             rs = state.executeQuery(sql);
 30             while (rs.next()) {
 31                 int id = rs.getInt("id");
 32                 String bianhao = rs.getString("bianhao");
 33                 String bname2 = rs.getString("bname");
 34                 String wname = rs.getString("wname");
 35                 String bhome=rs.getString("bhome");
 36                 int num = rs.getInt("num");
 37                 b = new Book(id,bianhao,bname2,wname,bhome,num);
 38             }
 39         } catch (Exception e) {
 40             e.printStackTrace();
 41         } finally {
 42             DBUtil.close(rs, state, conn);
 43         }
 44         
 45         return b;
 46     }
 47 
 48     //添加新书信息
 49     public boolean addBook(Book stu) {
 50         Connection conn = DBUtil.getConn();
 51         PreparedStatement pstmt = null;
 52         boolean f = false;
 53         int a = 0;
 54         try {
 55             String sql = "insert into Book(bianhao,bname,wname,bhome,num) value(?,?,?,?,?)";
 56             pstmt = conn.prepareStatement(sql);
 57             pstmt.setString(1, stu.getBianhao());
 58             pstmt.setString(2, stu.getBname());
 59             pstmt.setString(3, stu.getWname());
 60             pstmt.setString(4, stu.getBhome());
 61             pstmt.setLong(5, stu.getNum());
 62             a = pstmt.executeUpdate();
 63         } catch (SQLException e) {
 64             e.printStackTrace();
 65         } finally {
 66             DBUtil.close(pstmt, conn);
 67         }
 68         if (a > 0)
 69             f = true;
 70 
 71         return f;
 72     }
 73     //删除图书信息,根据书名删除
 74      public boolean deleteBook(String bname)
 75      {
 76          String sql="delete from Book where bname='" + bname + "'";
 77          Connection conn = DBUtil.getConn();
 78          Statement state = null;
 79          int a = 0;
 80          boolean f = false;
 81          try {
 82              state = conn.createStatement();
 83              a = state.executeUpdate(sql);
 84          } catch (SQLException e) {
 85              e.printStackTrace();
 86          } finally {
 87              DBUtil.close(state, conn);
 88          }
 89          
 90          if (a > 0) {
 91              f = true;
 92          }
 93          return f;
 94      }
 95 
 96     //更新图书信息,获取的是书的姓名
 97     public boolean updateBook(Book stu,String old_bname) {
 98         String sql = "update Book set bianhao='" + stu.getBianhao() + "', bname='" + stu.getBname() + "', wname='"
 99                 + stu.getWname() + "',bhome='" + stu.getBhome() + "',num='" + stu.getNum() + "'where bname='"+old_bname+"'";
100         Connection conn = DBUtil.getConn();
101         Statement state = null;
102         boolean f = false;
103         int a = 0;
104         try {
105             state = conn.createStatement();
106             System.out.println("修改成功");
107             a = state.executeUpdate(sql);
108             System.out.println(a);
109         } catch (SQLException e) {
110             e.printStackTrace();
111         } finally {
112             DBUtil.close(state, conn);
113         }
114 
115         if (a > 0) {
116             f = true;
117         }
118 
119         System.out.println(f);
120         return f;
121     }
122     //浏览图书信息
123     public List<Book> liulanbook() {
124         String sql = "select * from Book";
125         List<Book> list = new ArrayList<>();
126         Connection conn = DBUtil.getConn();
127         Statement state = null;
128         ResultSet rs = null;
129 
130         try {
131             state = conn.createStatement();
132             rs = state.executeQuery(sql);
133             Book bean = null;
134             while (rs.next()) {
135                 int id = rs.getInt("id");
136                 String bianhao = rs.getString("bianhao");
137                 String bname = rs.getString("bname");
138                 String wname = rs.getString("wname");
139                 String bhome=rs.getString("bhome");
140                 int num = rs.getInt("num");
141                 bean = new Book(id,bianhao,bname,wname,bhome,num);
142                 list.add(bean);
143             }
144         } catch (SQLException e) {
145             e.printStackTrace();
146         } finally {
147             DBUtil.close(rs, state, conn);
148         }
149 
150         return list;
151     }
152 
153 
154 }
复制代码

servlet层:

复制代码
  1 package servlet;
  2 
  3 import java.io.IOException;
  4 import java.util.List;
  5 
  6 import javax.servlet.ServletException;
  7 import javax.servlet.annotation.WebServlet;
  8 import javax.servlet.http.HttpServlet;
  9 import javax.servlet.http.HttpServletRequest;
 10 import javax.servlet.http.HttpServletResponse;
 11 
 12 import dao.Dao;
 13 import entity.Book;
 14 
 15 @WebServlet("/Servlet")
 16 public class Servlet extends HttpServlet {
 17     private static final long serialVersionUID = 1L;
 18     Dao dao = new Dao();
 19 
 20     protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 21         req.setCharacterEncoding("utf-8");
 22         String method = req.getParameter("method");
 23         if ("addBook".equals(method)) {
 24             addBook(req, resp);
 25         } else if ("liulanbook".equals(method)) {
 26             liulanbook(req, resp);
 27         }  else if ("getbyname".equals(method)) {
 28             getbyname(req, resp);
 29         } else if ("deleteBook".equals(method)) {
 30             deleteBook(req, resp);
 31         }else if("updateBook".equals(method)) {
 32             updateBook(req,resp);
 33         }
 34     }
 35 
 36     private void deleteBook(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
 37         // TODO 自动生成的方法存根
 38         req.setCharacterEncoding("utf-8");
 39         String bname = req.getParameter("bname");
 40         if (dao.deleteBook(bname)) {
 41             req.setAttribute("message", "删除成功");
 42             req.getRequestDispatcher("Servlet?method=liulanbook2").forward(req, resp);
 43         } else {
 44             req.setAttribute("message", "删除失败");
 45             req.getRequestDispatcher("Servlet?method=liulanbook2").forward(req, resp);
 46         }
 47     }
 48 
 49     private void addBook(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 50         req.setCharacterEncoding("utf-8");
 51         String bianhao = req.getParameter("bianhao");
 52         String bname = req.getParameter("bname");
 53         String wname = req.getParameter("wname");
 54         String bhome = req.getParameter("bhome");
 55         int num = Integer.parseInt(req.getParameter("num"));
 56         Book book = new Book(bianhao, bname, wname, bhome, num);
 57         if (dao.addBook(book)) {
 58             req.setAttribute("book", book);
 59             req.setAttribute("message", "添加成功");
 60             req.getRequestDispatcher("addBook.jsp").forward(req, resp);
 61         } else {
 62             req.setAttribute("message", "书籍信息重复,请重新输入");
 63             req.getRequestDispatcher("addBook.jsp").forward(req, resp);
 64         }
 65     }
 66 
 67 
 68    private void getbyname(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
 69        req.setCharacterEncoding("utf-8");
 70        String bname = req.getParameter("bname");
 71        Book b=new Book();
 72        b.setBname(bname);
 73        b= dao.getbyname(bname);
 74        if(b==null)
 75        {
 76            req.setAttribute("message", "未找到该书籍");
 77            req.getRequestDispatcher("xiugaiBook.jsp").forward(req, resp);
 78        }
 79        else 
 80        {
 81            req.setAttribute("b", b);
 82            req.getRequestDispatcher("xiugai2.jsp").forward(req,resp);
 83        }
 84    }  
 85     private void liulanbook(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
 86         req.setCharacterEncoding("utf-8");
 87 
 88         List<Book> tens = dao.liulanbook();
 89         req.setAttribute("tens", tens);
 90         req.getRequestDispatcher("list.jsp").forward(req, resp);
 91     }
 92 
 93      private void updateBook(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
 94             req.setCharacterEncoding("utf-8");
 95             String old_bname = req.getParameter("old_bname");
 96             String bianhao=req.getParameter("bianhao");
 97             String bname = req.getParameter("bname");
 98             String wname= req.getParameter("wname");
 99             String bhome = req.getParameter("bhome");
100             int num = Integer.parseInt(req.getParameter("num"));
101             Book b = new Book(bianhao, bname, wname, bhome, num);
102             if (dao.updateBook(b,old_bname)) {
103                 req.setAttribute("message", "修改成功");
104                 req.getRequestDispatcher("Servlet?method=liulanbook2").forward(req, resp);
105             }else {
106                 req.setAttribute("message", "修改失败");
107                 req.getRequestDispatcher("Servlet?method=liulanbook2").forward(req, resp);
108             }
109         }
110 }
复制代码

xiugai2.jsp:

复制代码
 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3     <%@ page import="entity.*" %>
 4 <!DOCTYPE html>
 5 <html>
 6 <head>
 7 <meta charset="UTF-8">
 8 <title>修改学生信息</title>
 9 <script>
10 </script>
11 </head>
12 <body>
13 <%
14          Object message = request.getAttribute("message");
15          if(message!=null && !"".equals(message)){
16      
17     %>
18          <script type="text/javascript">
19               alert("<%=request.getAttribute("message")%>");
20          </script>
21     <%} %>
22     <%
23     Book b=(Book)request.getAttribute("b");
24     %>
25   <table align="center" border="0px" cellpadding="10px" cellspacing="10px">
26   <form action="Servlet?method=updateBook"  method="post"  onsubmit="return check()">
27   <tr>
28   <td><a href="guanli.jsp">返回菜单</a></td>
29   </tr>
30   <input type="hidden" name="old_bname" value="<%=b.getBname()%>"/>
31    <tr>
32     <td>图书编号:</td>
33     <td><input type="text" name="bianhao" id="bianhao" value="<%=b.getBianhao()%>"/></td>
34    </tr>
35    <tr>
36    <td>书名:</td>
37    <td><input type="text" name="bname" id="bname" value="<%=b.getBname()%>"></td>
38    </tr>
39  
40    <tr>
41    <td>作者名:</td>
42    <td><input type="text" name="wname" id="wname" value="<%=b.getWname()%>"></td>
43    </tr>
44     <tr>
45      <tr>
46    <td>出版社名称:</td>
47    <td><input type="text" name="bhome" id="bhome" value="<%=b.getBhome()%>"></td>
48    </tr>
49     <tr>
50      <tr>
51    <td>可借阅数量:</td>
52    <td><input type="text" name="num" id="num" value="<%=b.getNum()%>"></td>
53    </tr>
54     <tr>
55     <tr align="center">
56     <th colspan="2">
57     <input type="submit" value="修改">
58     </th>
59     </tr>
60     </form>
61 </table>
62 </body>
63 </html>
复制代码

在list页面中,删除功能直接调用函数就可以实现

<td><a href="Servlet?method=getbyname&bname=${item.bname }">修改</a>
原文地址:https://www.cnblogs.com/feng747/p/14185840.html