• 基于图书管理系统的增


    系统功能:主要实现图书的增删改查,我建了四层,如下图所示:

     菜单:

    添加图书信息:

    管理图书信息:

     

    今天主要完成图书信息的添加功能

    entity层:

     1 package entity;
     2 
     3 public class Book {
     4     private int id;
     5     private String bianhao;
     6     private String bname;
     7     private String wname;
     8     private String bhome;
     9     private int num;
    10     public void setId(int id) {
    11         this.id=id;
    12     }
    13     public void setBianhao(String bianhao) {
    14         this.bianhao=bianhao;
    15     }
    16     public void setBname(String bname) {
    17         this.bname=bname;
    18     }
    19     public void setWname(String wname) {
    20         this.wname=wname;
    21     }
    22     public void setBhome(String bhome) {
    23         this.bhome=bhome;
    24     }
    25     public void setNum(int num) {
    26         this.num=num;
    27     }
    28     public int getId() {
    29         return this.id;
    30     }
    31     public String getBianhao() {
    32         return this.bianhao;
    33     }
    34     public String getBname() {
    35         return this.bname;
    36     }
    37     public String getWname() {
    38         return this.wname;
    39     }
    40     public String getBhome() {
    41         return this.bhome;
    42     }
    43     public int getNum() {
    44         return this.num;
    45     }
    46     public Book() {}
    47     public Book(int id,String bianhao,String bname,String wname,String bhome,int num) {
    48         this.id=id;
    49         this.bianhao=bianhao;
    50         this.bname=bname;
    51         this.wname=wname;
    52         this.bhome=bhome;
    53         this.num=num;
    54     }
    55     public Book(String bianhao,String bname,String wname,String bhome,int num) {
    56         this.bianhao=bianhao;
    57         this.bname=bname;
    58         this.wname=wname;
    59         this.bhome=bhome;
    60         this.num=num;
    61     }
    62 }

    DBUtil层:

     1 package DBUtil;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.PreparedStatement;
     6 import java.sql.ResultSet;
     7 import java.sql.SQLException;
     8 import java.sql.Statement;
     9 
    10 public class DBUtil {
    11     
    12     public static String db_url = "jdbc:mysql://localhost:3306/xuanke?serverTimezone=GMT%2B8&useSSL=false";
    13     public static String db_user = "root";
    14     public static String db_pass = "0424wyhhxx";
    15     
    16     public static Connection getConn () {
    17         Connection conn = null;
    18         
    19         try {
    20             Class.forName("com.mysql.cj.jdbc.Driver");
    21             conn = DriverManager.getConnection(db_url, db_user, db_pass);
    22         } catch (Exception e) {
    23             e.printStackTrace();
    24         }
    25         
    26         return conn;
    27     }
    28 
    29     public static void close (Statement state, Connection conn) {
    30         if (state != null) {
    31             try {
    32                 state.close();
    33             } catch (SQLException e) {
    34                 e.printStackTrace();
    35             }
    36         }
    37 
    38         if (conn != null) {
    39             try {
    40                 conn.close();
    41             } catch (SQLException e) {
    42                 e.printStackTrace();
    43             }
    44         }
    45     }
    46 
    47     public static void close (ResultSet rs, Statement state, Connection conn) {
    48         if (rs != null) {
    49             try {
    50                 rs.close();
    51             } catch (SQLException e) {
    52                 e.printStackTrace();
    53             }
    54         }
    55 
    56         if (state != null) {
    57             try {
    58                 state.close();
    59             } catch (SQLException e) {
    60                 e.printStackTrace();
    61             }
    62         }
    63 
    64         if (conn != null) {
    65             try {
    66                 conn.close();
    67             } catch (SQLException e) {
    68                 e.printStackTrace();
    69             }
    70         }
    71     }
    72 
    73     public static void main(String[] args) throws SQLException {
    74         Connection conn = getConn();
    75         PreparedStatement pstmt = null;
    76         ResultSet rs = null;
    77         String sql ="select * from xuanke";
    78         pstmt = conn.prepareStatement(sql);
    79         rs = pstmt.executeQuery();
    80         if(rs.next()){
    81             System.out.println("成功");
    82         }else{
    83             System.out.println("失败");
    84         }
    85     }
    86 }

    dao层:

     1 import java.sql.Connection;
     2 import java.sql.PreparedStatement;
     3 import java.sql.ResultSet;
     4 import java.sql.SQLException;
     5 import java.sql.Statement;
     6 import java.util.ArrayList;
     7 import java.util.List;
     8 
     9 import DBUtil.DBUtil;
    10 import entity.Book;
    11 //添加新书信息
    12     public boolean addBook(Book stu) {
    13         Connection conn = DBUtil.getConn();
    14         PreparedStatement pstmt = null;
    15         boolean f = false;
    16         int a = 0;
    17         try {
    18             String sql = "insert into Book(bianhao,bname,wname,bhome,num) value(?,?,?,?,?)";
    19             pstmt = conn.prepareStatement(sql);
    20             pstmt.setString(1, stu.getBianhao());
    21             pstmt.setString(2, stu.getBname());
    22             pstmt.setString(3, stu.getWname());
    23             pstmt.setString(4, stu.getBhome());
    24             pstmt.setLong(5, stu.getNum());
    25             a = pstmt.executeUpdate();
    26         } catch (SQLException e) {
    27             e.printStackTrace();
    28         } finally {
    29             DBUtil.close(pstmt, conn);
    30         }
    31         if (a > 0)
    32             f = true;
    33 
    34         return f;
    35     }
    36 }

    servlet层:

     1 import java.io.IOException;
     2 import java.util.List;
     3 
     4 import javax.servlet.ServletException;
     5 import javax.servlet.annotation.WebServlet;
     6 import javax.servlet.http.HttpServlet;
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 
    10 import dao.Dao;
    11 import entity.Book;
    12 
    13 @WebServlet("/Servlet")
    14 public class Servlet extends HttpServlet {
    15     private static final long serialVersionUID = 1L;
    16     Dao dao = new Dao();
    17 
    18     protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    19         req.setCharacterEncoding("utf-8");
    20         String method = req.getParameter("method");
    21         if ("addBook".equals(method)) {
    22             addBook(req, resp);
    23         }
    24     }
    25 private void addBook(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    26         req.setCharacterEncoding("utf-8");
    27         String bianhao = req.getParameter("bianhao");
    28         String bname = req.getParameter("bname");
    29         String wname = req.getParameter("wname");
    30         String bhome = req.getParameter("bhome");
    31         int num = Integer.parseInt(req.getParameter("num"));
    32         Book book = new Book(bianhao, bname, wname, bhome, num);
    33         if (dao.addBook(book)) {
    34             req.setAttribute("book", book);
    35             req.setAttribute("message", "添加成功");
    36             req.getRequestDispatcher("addBook.jsp").forward(req, resp);
    37         } else {
    38             req.setAttribute("message", "书籍信息重复,请重新输入");
    39             req.getRequestDispatcher("addBook.jsp").forward(req, resp);
    40         }
    41     }
    42 }

    添加图书的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>添加图书信息</title>
     8 <script>
     9 </script>
    10 </head>
    11 <body>
    12 <%
    13          Object message = request.getAttribute("message");
    14          if(message!=null && !"".equals(message)){
    15      
    16     %>
    17          <script type="text/javascript">
    18               alert("<%=request.getAttribute("message")%>");
    19          </script>
    20     <%} %>
    21   <table align="center" border="0px" cellpadding="10px" cellspacing="10px">
    22   <form action="Servlet?method=addBook"  method="post"  onsubmit="return check()">
    23   <tr>
    24   <td><a href="guanli.jsp">返回菜单</a></td>
    25   </tr>
    26    <tr>
    27     <td>图书编号:</td>
    28     <td><input type="text" name="bianhao" id="bianhao"></td>
    29    </tr>
    30    <tr>
    31    <td>书名:</td>
    32    <td><input type="text" name="bname" id="bname"></td>
    33    </tr>
    34  
    35    <tr>
    36    <td>作者名:</td>
    37    <td><input type="text" name="wname" id="wname"></td>
    38    </tr>
    39     <tr>
    40      <tr>
    41    <td>出版社名称:</td>
    42    <td><input type="text" name="bhome" id="bhome"></td>
    43    </tr>
    44     <tr>
    45      <tr>
    46    <td>可借阅数量:</td>
    47    <td><input type="text" name="num" id="num"></td>
    48    </tr>
    49     <tr>
    50     <tr align="center">
    51     <th colspan="2">
    52     <input type="submit" value="提交">
    53     </th>
    54     </tr>
    55     </form>
    56 </table>
    57 </body>
    58 </html>

    添加图书信息:

    数据库添加成功:

  • 相关阅读:
    UGUI组件之Slider组件简单笔记
    UGUI事件之Drag拖拽事件
    C#的数据类型之最常用的几种类型
    UGUI组件之Text文本组件简单笔记
    UGUI组件之Toggle 组件简单笔记
    Print 与Debug.Log的区别
    Unity脚本用VS打开出现 "以下文件中的行尾不一致,要将行尾标准化吗?"
    UGUI组件之Image 组件简单笔记
    UGUI事件之Pointer指针事件
    定制自己的Unity脚本模板
  • 原文地址:https://www.cnblogs.com/znjy/p/14171010.html
Copyright © 2020-2023  润新知