图书管理系统(关于数据库的增删改查)
  图书管理系统是我⾃⼰想的,东西不太多、主要还是为了练习尝试数据库的增删改查的应⽤。⽤到了Javaweb、JavaBean、HTML、servlet、jsp,还望⼤佬们指点指点。
  先看⼀下项⽬的整体结构
  ⾸先我先创建了数据库和表以及表列名(⾃⼰要⽤到的可以⾃由加) 
  关于代码的顺序我仍然是先写了Bean包:get(),set()⽅法 .  //Alt+Shift+S可以快速构建,然后是Util包下的数据库的连接,下⾯直接上代码
BookInformation.java
package Bean;
public class BookInformation {
private String number;//编号
private String bookname;//书名
private String writer;//作者
private String quantity;//借阅量
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getBookname() {
return bookname;
}
public void setBookname(String bookname) {
this.bookname = bookname;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getQuantity() {
return quantity;
}
public void setQuantity(String quantity) {
this.quantity = quantity;
}
}
  util.java
package Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* JDBC��������
*/
public class util{
public static Connection getConnection() throws ClassNotFoundException, SQLException {//创建了⼀个⽅法后⾯会调⽤
Connection connection = null;//创建连接对象
PreparedStatement ps = null;////创建载体
ResultSet rs = null;//创建结果集对象
Class.forName("sql.cj.jdbc.Driver");
connection = Connection("jdbc:mysql://localhost:3306/tushu","root", "jiang123456");//数据库的名称和⾃⼰的账号密码记得改
return connection;
}
public static void close(Connection connection ) {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(PreparedStatement preparedStatement ) {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(ResultSet resultSet ) {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
  接着我开始写界⾯:主界⾯和增删改都是⽤到了HTML,查和遍历⽤到了jsp。下⾯是各个界⾯的代码有不同需求的可以适当增删主界⾯
zhujiemian.html
<!DOCTYPE html>
fromview什么意思
<html>
<head>
<meta charset="UTF-8">
<h1 align = "center">欢迎使⽤图书管理系统</h1><br>
</head>
<body>
<div align = "center"> <!-- 居中 --><a href="add.html" > <!-- 链接 --> 登记图书信息</button ></a></div><br>
<div align = "center"> <a href="update.html" >修改图书信息</button></a></div><br>
<div align = "center">  <a href="delite.html  ">删除图书信息</button></a></div><br>
<div align = "center"> <a href="select2.html">查询图书信息</button></a></div><br>
<div align = "center">  <a href="showall.jsp">浏览图书信息</button></a></div><br>
</body>
</html>
  增加数据界⾯(下⾯注释部分是关于增加的⽅式有需要的可以看之前相关博客)add.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>openssl成员
<!-- 添加的⽅式⼤概分为⽂本框(text),按钮(radio、value),下拉框(select、value),多选框()//如果少下了忘⼤佬们提醒哈 -->
<!-- ⼀、"<input type=text//⽂本框 name="数据库定义的名字" ||text结束,>
<!--⼆、radio例⼦如下-->
<!--  <tr>
<td> 住房类型:</td>
<td>
<input type="radio" name="zhufangleixing" value="家庭住宅">家庭住所
hbase是什么关系数据库
<input type="radio" name="zhufangleixing" value="集体住所" checked>集体住所 <input type="radio" name="zhufangleixing" value="⼯作地住所">⼯作地住所
<input type="radio" name="zhufangleixing" value="其他住宅">其他住宅
<input type="radio" name="zhufangleixing" value="⽆住宅">⽆住宅
</td>
</tr>          radio结束 -->
<!-- 三、下拉框
<tr>
<td>受教育程度:</td>
<td>
<select name="jiaoyuchengdu">
<option value="研究⽣">研究⽣</option>
<option value="⼤学本科">⼤学本科</option>
<option value="⼤学专科">⼤学专科</option>
<option value="⾼中" selected>⾼中</option>
<option value="初中">初中</option>
<option value="⼩学">⼩学</option>
<option value="未上过学">未上过学</option>
</select>
</td>
</tr>      -->
<!-- 四、多选框
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="demo04.jsp"  >
⽤户名:<input type="text" name="uname"><br>
兴趣:
<input type="checkbox" name="inst" value="bask">篮球
<input type="checkbox" name="inst" value="swim">游泳
<input type="checkbox" name="inst" value="sing">唱歌
<input type="checkbox" name="inst" value="dancd">跳舞
<input type="checkbox" name="inst" value="read">看书
<br>
<input type="submit" value="提交">
</form>
</body>
</html>
-->
<body>
continue语句只能用于部分循环体中<div id="addSubjectForm" align="center">
<form action="add1" method="post"><!-- servlet⾥要调⽤的函数 -->
<tr>
<h2>请输⼊图书信息</h2>
</tr>
<table align="center">
<tr>
<td>图书编号:</td>
<td>
<input    type="text" name="number" >
</td>
</tr>
<tr>
<td>书名:</td>
<td>
<input    type="text" name="bookname" >
</td>
</tr>
<tr>
<td>图书作者:</td>
<td>
<input    type="text" name="writer" >
</td>
</tr>
<tr>
<td>借阅可借阅数量:</td>
<td>
<input    type="text" name="quantity" >
</td>
</tr>
<td>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
<input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上⼀页">
</td>
</body>
</html>
  删除数据界⾯(我这⼀块是根据图书的编号来删除的有其他要求的可以适当的增删)delite.html <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div id="addSubjectForm" align="center">
<form action="delite1" method="post"><!-- servlet⾥要调⽤的函数 -->
<tr>
<h2>请输⼊要删除的图书信息</h2>
</tr>
<table align="center">
<tr>
<td>图书编号:</td>
<td>
<input    type="text" name="number" >
</td>
</tr>
<td>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
<input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上⼀页">
</td>
</body>
</html>
  修改数据界⾯(修改数据则是以图书书名为主作为修改,有其余要求可以适当增删)update.html <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div id="addSubjectForm" align="center">
<form action="uapata1" method="post"><!-- servlet⾥要调⽤的函数 -->
<tr>
<h2>请输⼊要修改的图书书名</h2>
</tr>
<table align="center">
<tr>
<td>图书编号:</td>
<td>
<input    type="text" name="number" >
</td>
</tr>
<tr>
<td>书名:</td>
<td>
<input    type="text" name="bookname" >
</td>
</tr>
<tr>
<td>图书作者:</td>
<td>
<input    type="text" name="writer" >
</td>
</tr>
<tr>
<td>图书可借阅得数量:</td>
<td>
<input    type="text" name="quantity" >
</td>
</tr>
<td>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
<input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上⼀页">
</td>
</body>
</html>
  后⾯两个我会给出查询和遍历的主界⾯我⽤到了jsp。
  遍历数据界⾯:⽤到了ArrayList集合接受后端数据(servlet包下),遍历showall.jsp
<%@page import="Dao.showall"%>
<%@page import="java.util.ArrayList"%>
<%@page import="Bean.BookInformation"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>展⽰数据</title>
</head>
<body>
<table border="1">
<tr>
<th>图书编号</th>
<th>书名</th>如何搭建虚拟机
<th>图书作者</th>
<th>借阅时间</th>
<div>return Home ? <a href="zhujiemian.html">home</a></div>
</tr>
<%
ArrayList <BookInformation> people = new ArrayList<BookInformation>();
showall dao = new showall();
dao.showall(people);
mysql面试题 增删改查
for (int i = 0; i < people.size(); i++) {
BookInformation A = (i);
%>
<tr>
<td><%=A.getNumber()%></td>
<td><%=A.getBookname()%></td>
<td><%=A.getWriter()%></td>
<td><%=A.getQuantity()%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
  查询数据界⾯“select2”:查询则是按照书的名称查询有其他需求的可以创多个界⾯进⾏不同查询select2.html <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<!-- "<input type=radio//按钮text//⽂本框 name="数据库定义的名字" ||text结束,radio例⼦如下>
<!--  <tr>
<td> 住房类型:</td>
<td>
<input type="radio" name="zhufangleixing" value="家庭住宅">家庭住所
<input type="radio" name="zhufangleixing" value="集体住所" checked>集体住所
<input type="radio" name="zhufangleixing" value="⼯作地住所">⼯作地住所
<input type="radio" name="zhufangleixing" value="其他住宅">其他住宅
<input type="radio" name="zhufangleixing" value="⽆住宅">⽆住宅
</td>
</tr>                  -->
<!-- 下拉框
<tr>
<td>受教育程度:</td>
<td>
<select name="jiaoyuchengdu">

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。