zoukankan      html  css  js  c++  java
  • 基于图书管理系统的查

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

    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 ("searchBook".equals(method)) {
                searchBook(req, resp);
            } else if ("getbyname".equals(method)) {
                getbyname(req, resp);
            } else if ("deleteBook".equals(method)) {
                deleteBook(req, resp);
            }else if("updateBook".equals(method)) {
                updateBook(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 searchBook(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
            req.setCharacterEncoding("utf-8");
            String bname = req.getParameter("bname");
            String wname = req.getParameter("wname");
    
            List<Book> tens = dao.searchBook(bname, wname);
            if (tens == null) {
                req.setAttribute("message", "没有该书");
                req.getRequestDispatcher("searchbook.jsp").forward(req, resp);
            } else {
                req.setAttribute("tens", tens);
                req.getRequestDispatcher("list.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);
        }
    
         private void updateBook(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
                req.setCharacterEncoding("utf-8");
                String old_bname = req.getParameter("old_bname");
                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 b = new Book(bianhao, bname, wname, bhome, num);
                if (dao.updateBook(b,old_bname)) {
                    req.setAttribute("message", "修改成功");
                    req.getRequestDispatcher("Servlet?method=liulanbook2").forward(req, resp);
                }else {
                    req.setAttribute("message", "修改失败");
                    req.getRequestDispatcher("Servlet?method=liulanbook2").forward(req, resp);
                }
            }
    }

    searchBook.jsp:

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>Insert title here</title>
     8 
     9 </head>
    10 <body>
    11 <%
    12           Object message = request.getAttribute("message");
    13           if(message!=null && !"".equals(message)){
    14       
    15      %>
    16           <script type="text/javascript">
    17                alert("<%=request.getAttribute("message")%>");
    18           </script>
    19      <%} %>
    20 <h>查找书籍</h>
    21     <div class="content">
    22         <div class="main">
    23         <a href="reader.jsp">返回主页面</a>
    24         <br><br>
    25         <form name="form" action="Servlet?method=searchBook" method="post" ">
    26             <a>书名</a>&nbsp;&nbsp;<input type="text" name="bname" />
    27             <br><br>
    28             <a>作者名</a>&nbsp;&nbsp;<input type="text" name="wname" />
    29             <br><br>
    30             
    31             <input type="submit" value="查找" /></td>
    32         </form>
    33         </div>
    34     </div>
    35 </body>
    36 </html>

    我这里的查询功能放在了读者功能页,功能一样,点击查询图书信息,跳转到查询页:

     可以根据书名或作者名进行模糊查找,例如输入作者名海明威:

     查找成功:

  • 相关阅读:
    java中Excel导出
    springmvc接收各种参数
    restTemplate使用
    java中io流的操作
    在线Cron表达式生成器
    springBoot实现socketio
    maven的使用
    idea中导入githup项目
    java 单例模式之线程安全的饿汉模式和懒汉模式
    spring定时任务的集中实现
  • 原文地址:https://www.cnblogs.com/znjy/p/14171044.html
Copyright © 2011-2022 走看看