java简易制作图书查询系统

本文介绍了如何通过修改SQL查询并利用ArrayList存储结果,实现在图书查询页面显示详细信息的功能。模型层Book类进行了相应调整,并展示了完整的代码流程,包括DBUtil工具类、查询方法和Servlet/页面整合。
摘要由CSDN通过智能技术生成

要实现的功能:
点击图书查询,在页面出现要查询的图书详情信息

实现思路:
修改一下sql语句即可,通过ArrayList将所有查询结果进行存储,在model层的构造方法中修改输出的toString方法的内容格式,在页面接受一下查询结果输出展示即可;详情代码如下:
DButil工具类

package com.wbj.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class DButil {
	static{
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	public static Connection getconn(){
		Connection conn = null;
		try {
			conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=MyDB", "sa", "1");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}
	public static void close(Connection conn,PreparedStatement ps,ResultSet rs){
	
			try {
				if (conn!=null)
				conn.close();
				if (ps!=null)
					ps.close();
					if (rs!=null)
						rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		
	}
	}

工具类查询方法

package com.wbj.util;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import com.wbj.model.Book;

public class DBselsect {
	public static ArrayList<Book> getbookName(String bookName){
		Connection conn = DButil.getconn();
		String sql = "select * from mybooks where bookName=? ";
		PreparedStatement ps = null;
		Book book = null;
		ResultSet rs = null;
		ArrayList<Book> list = new ArrayList<Book>();
		try {
			ps = conn.prepareStatement(sql);
			ps.setString(1, bookName);
			rs = ps.executeQuery();
			while (rs.next()) {
				//存储查询的值
				book = new Book();
				book.setAuteur(rs.getString("auteur"));
				book.setBrief(rs.getString("brief"));
				book.setbookName(rs.getString("bookName"));
				book.setPrice(rs.getString("price"));
				list.add(book);
			}
			
		} catch (SQLException e) {
			
		}finally{
		DButil.close(conn, ps, rs);
	}
		return list;	
	}
}

model层构造方法

package com.wbj.model;

/**
 * 
 * @author model层  UserIfo类
 *
 */
public class Book {
private Integer id;
private String bookName;//书名
private String auteur;//作者
private String brief;//简介
private String price;//价格
public Integer getId() {
	return id;
}
public void setId(Integer id) {
	this.id = id;
}
public String getAuteur() {
	return auteur;
}
public void setAuteur(String auteur) {
	this.auteur = auteur;
}
public String getbookName() {
	return bookName;
}
public void setbookName(String bookName) {
	this.bookName = bookName;
}
public String getBrief() {
	return brief;
}
public void setBrief(String brief) {
	this.brief = brief;
}
public String getPrice() {
	return price;
}
public void setPrice(String price) {
	this.price = price;
}
@Override
public String toString() {
	return "  作者:" + auteur + "  书名:" + bookName
	+  "   简介:" + brief  +"   价格:" + price+"元";
}
public Book() {
	super();
	// TODO Auto-generated constructor stub
}
public Book(Integer id, String auteur, String bookName, String brief,
		String price) {
	super();
	this.id = id;
	this.auteur = auteur;
	this.bookName = bookName;
	this.brief = brief;
	this.price = price;
}

}

Servlet类

package com.wbj.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wbj.model.Book;
import com.wbj.util.DBselsect;

public class LoginServlet extends HttpServlet {

	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	doPost(request, response);
	}

	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//设置编码
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html");
		//获取请求
		String bookName = request.getParameter("bookName");
		ArrayList<Book> list = DBselsect.getbookName(bookName);
		//响应
			request.setAttribute("list", list);
			request.getRequestDispatcher("index.jsp").forward(request, response);
		
	}

}

页面代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.wbj.model.Book"%>


<% %>

<!DOCTYPE html>
<html>
	<head>
	
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			.bt{
				width: 100%;

				text-align: center;
				background-color: coral;
				padding-top: 30px;
				padding-bottom: 30px;
			}
			.bt:hover{
				color: aliceblue;
			}
			span{
				text-align: center;
				font-size: 30px;
			}
			table{
				margin: 0 auto;
				padding-top: 80px;
				
			}
			td{
				padding-top:30px ;
				font-size: 25px;
				text-align: center;
			}
			th{
				padding-bottom: 20px;
				font-size: 30px;
			}
			input{
				font-size: 20px;
			}
			#dl{
				background-color: cyan;
			}
			#zc{
				background-color: coral;
			}
			#f:hover{
				 
			}
		</style>
	</head>
	<body>
		<div class="bt" >
			<span>图书管理系统</span>
		</div>
		<form action="text" method="post">
		
		<table >
			<tr><th colspan="3" id="f">图书查询</th></tr>
			
			<tr><td  colspan="3" >查询:<input type="text" id="" name="bookName" placeholder="请输入书名"/></td></tr>
			<tr><td colspan="2"><%
		ArrayList<Book> list =(ArrayList) request.getAttribute("list");
		if(list!=null&&list.size()>0){
		for(Book book:list){
		%><%=book.toString()%><%
		}
		}else if(list!=null){
		out.print("查无此书");
		}else{}
		 %></td></tr>
			<tr><td colspan="3"><input type="submit" id="dl" name="login" value="查询"/></td></tr>
		</table></form>
	</body>
</html>


以上就是整个代码流程,有不妥的地方请帮忙改正

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
图书资料管理信息系统,带源代码、数据库sql文件、课设报告,具备如下基本功能: 1、 系统管理功能有:角色管理、用户管理、修改密码。主要实现系统的安全管理,不同的操作者有不同的权限,可以执行不同的操作。普通读者的权限只能是查询图书及自己的借阅情况;而图书馆管理员可以对图书信息进行管理,如对新书入库,也可以管理用户,如添加新用户和删除不用的账号等。 2、 进书管理功能有:登记基本的图书信息。这部分的功能用于登记新书的书名、作者、出版社、价格、进书的册数、进书日期、ISBN等。 3、 图书入库管理功能有:对新书分类编目,及时更新图书库中的图书信息。这部分的功能用于对所购进的新书,按其种类学科进行编目,给与唯一的书号;及时更新书库中的图书信息,包括书名、书号、作者、出版社、价格、库存位置和库存册数这些信息,方便读者查询借阅。 4、 查询功能功能有:查询图书的信息,查询读者的借阅情况。这部分的功能主要提供多种方式的查询服务。读者可以根据书名、作者或关键字模糊查询图书信息;读者也可以根据自己的借书证号查询自己的借阅情况,如已借了几本书,借书日期,还书日期,有没有续借等。 5、 借书/还书管理功能有:借书管理、还书管理。这部分的功能是当读者借书时,系统根据借书证号识别读者身份,核对读者的借书信息,做出判断如可不可以借、还可借几本,成功借阅后记录在借书信息并修改书库图书信息。当读者还书时,系统根据借书证号识别读者身份,核对读者的借书信息,做出判断如有没有超期,要不要罚款,需要罚多少等,最后还书成功,修改书库图书信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值