zoukankan      html  css  js  c++  java
  • 今日收获

    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>
  • 相关阅读:
    Windows之shortcut
    VHDL之code structure
    Embedded之Makefile
    VHDL_LIB之DFF
    VCS之Git
    潭州课堂25班:Ph201805201 django框架 第五课 自定义简单标签,包含标签,模型类创建,梳理类创建 (课堂笔记)
    潭州课堂25班:Ph201805201 django框架 第四课 模板常用标签,模板继承与引用,自定义过渡器 (课堂笔记)
    潭州课堂25班:Ph201805201 django框架 第三课 模板路径,变量,过滤器,静态文件的引用 (课堂笔记)
    潭州课堂25班:Ph201805201 django框架 第二课 url,,include,kwargs,name的使用 (课堂笔记)
    潭州课堂25班:Ph201805201 django框架 第一课 环境搭建 (课堂笔记)
  • 原文地址:https://www.cnblogs.com/feng747/p/14185838.html
Copyright © 2011-2022 走看看