图书管理器
数据库设计代码
CREATE TABLE bookmanage(
b_id BIGINT AUTO_INCREMENT PRIMARY KEY NOT NULL,
b_name VARCHAR(40) NOT NULL,
b_author VARCHAR(40) NOT NULL,<br>b_date DATETIME NOT NULL,
b_type INT NOT NULL )ENGINE=INNODB DEFAULT CHARSET=utf8;
主界面:
<%@ page import="com.qkl.bean.BookManage"%>
<%@ page import="com.qkl.dao.BookManageDao"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>个人图书管理</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h1>图书信息</h1>
<table border="1">
<tr>
<td>图书编号</td>
<td>图书名称</td>
<td>图书作者</td>
<td>购买时间</td>
<td>图书分类</td>
<td>操作</td>
</tr>
<%
BookManageDao book = new BookManageDao();
List<BookManage> list = book.selectBookAll();
for (int i = 0; i < list.size(); i++) {
%>
<tr>
<td><%=list.get(i).getB_id()%></td>
<td><%=list.get(i).getB_name()%></td>
<td><%=list.get(i).getB_author()%></td>
<td><%=list.get(i).getB_time()%></td>
<td><%int x = list.get(i).getB_type();
if (x == 1) {
%> <label>小说/文摘</label> <%
} else if (x == 2) {
%> <label>计算机/软件</label> <%
} else if (x == 3) {
%> <label>杂项</label> <%
}
%>
</td>
<td><a href="del.jsp?b_id=<%=list.get(i).getB_id()%>" onclick="del()">删除</a></td>
</tr>
<%
}
%>
</table>
<a href="newbook.jsp">新增图书信息</a>
</body>
<script type="text/javascript">
function del(){
if(confirm('确定要删除吗?')){
}else{
}
}
</script>
</html>
添加图书界面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>添加图书信息</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="getnewbook.jsp" onsubmit="return validate_form(this)"
method="post">
<table>
<tr>
<th>新增图书信息</th>
</tr>
<tr>
<td>图书名称:</td>
<td><input type="text" name="newbookname">
</td>
</tr>
<tr>
<td>图书作者:</td>
<td><input type="text" name="newbookauthor">
</td>
</tr>
<tr>
<td>购买日期:</td>
<td><input type="text" name="newbookdate">
</td>
<td>yyyy-MM-dd格式</td>
</tr>
<tr>
<td>图书类别:</td>
<td><select id="select" name="select">
<option value="">选择所属分类</option>
<option value="1">小说/文摘</option>
<option value="2">计算机/软件</option>
<option value="3">杂项</option>
</select>
</tr>
</table>
<input type="submit" value="添加图书">
</form>
<script type="text/javascript">
function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
{alert(alerttxt);return false}
else {return true}
}
}
function validate_form(thisform)
{
var slt=document.getElementById("select");
if(slt.value==""){
alert("请选择分类");
return false;
}
with (thisform)
{
if (validate_required(newbookname,"书名不能为空")==false)
{newbookname.focus();return false}
if (validate_required(newbookauthor,"作者不能为空")==false)
{newbookauthor.focus();return false}
if (validate_required(newbookdate,"时间不能为空")==false)
{newbookdate.focus();return false}
}
}
</script>
</body>
</html>
添加图书内容收集界面
<%@ page import="com.qkl.bean.BookManage"%>
<%@ page import="com.qkl.dao.BookManageDao"%>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'getnewbook.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
BookManage m = new BookManage();
String b_name = request.getParameter("newbookname");
b_name.trim();
m.setB_name(b_name);
String b_author = request.getParameter("newbookauthor");
b_author.trim();
m.setB_author(b_author);
String b_date = request.getParameter("newbookdate");
SimpleDateFormat smt = new SimpleDateFormat("yyyy-MM-dd");
Date d_datein = smt.parse(b_date);
m.setB_time(d_datein);
String b_type = request.getParameter("select");
int bb_type= Integer.parseInt(b_type);
m.setB_type(bb_type);
BookManageDao sd = new BookManageDao();
if (sd.addbook(m) > 0) {
%><p>添加成功</p><a href="index.jsp">点击返回主页面</a>
<%
} else {
%>
<p>输入错误,请重新注册</p>
<%
}
%>
</body>
</html>
删除图书内容收集界面
<%@ page import="com.qkl.bean.BookManage"%>
<%@ page import="com.qkl.dao.BookManageDao"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'del.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
int b_id=Integer.parseInt(request.getParameter("b_id"));
BookManageDao id=new BookManageDao();
id.delbook(b_id);
request.getRequestDispatcher("index.jsp").forward(request, response);
%>
</body>
</html>
BookManage.java
package com.qkl.bean;
import java.util.Date;
public class BookManage {
private int b_id;
private String b_name;
private String b_author;
private Date b_time;
private int b_type;
public int getB_id() {
return b_id;
}
public void setB_id(int b_id) {
this.b_id = b_id;
}
public String getB_name() {
return b_name;
}
public void setB_name(String b_name) {
this.b_name = b_name;
}
public String getB_author() {
return b_author;
}
public void setB_author(String b_author) {
this.b_author = b_author;
}
public Date getB_time() {
return b_time;
}
public void setB_time(Date b_time) {
this.b_time = b_time;
}
public int getB_type() {
return b_type;
}
public void setB_type(int b_type) {
this.b_type = b_type;
}
public BookManage(int b_id, String b_name, String b_author, Date b_time,int b_type) {
super();
this.b_id = b_id;
this.b_name = b_name;
this.b_author = b_author;
this.b_time = b_time;
this.b_type = b_type;
}
public BookManage() {
super();
// TODO Auto-generated constructor stub
}
}
BookManageDao.java
package com.qkl.dao;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import com.jjy.bean.BookManage;
public class BookManageDao extends BaseDao {
//显示数据列表
public List<BookManage> selectBookAll() {
List<BookManage> list = new ArrayList<BookManage>();
Connection conn=getConnection();
String sql = "SELECT b_id,b_name,b_author,b_date,b_type FROM bookmanage";
PreparedStatement ps = null;
ResultSet rs=null;
try {
ps = conn.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()) {
BookManage m = new BookManage();
m.setB_id(rs.getInt(1));
m.setB_name(rs.getString(2));
m.setB_author(rs.getString(3));
m.setB_time(rs.getDate(4));
m.setB_type(rs.getInt(5));
list.add(m);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
closeAll(conn,ps,rs);
}
return list;
}
//增加数据
public int addbook(BookManage m){
int i=0;
Connection conn=getConnection();
String sql="insert into bookmanage(b_name,b_author,b_date,b_type) values(?,?,?,?)";
PreparedStatement ps=null;
try {
ps = conn.prepareStatement(sql);
ps.setString(1, m.getB_name());
ps.setString(2, m.getB_author());
ps.setDate(3,new Date(m.getB_time().getTime()));
ps.setInt(4, m.getB_type());
i=ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
closeAll(conn, ps, null);
}
return i;
}
//删除数据
public void delbook(int id){
Connection con=getConnection();
PreparedStatement ps=null;
String sql="delete from bookmanage where b_id=?";
try {
ps=con.prepareStatement(sql);
ps.setInt(1, id);
ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
closeAll(con, ps, null);
}
}
}
BaseDao.java
package com.qkl.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseDao {
//获取连接
protected Connection getConnection(){
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
// 2.建立连接
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/jsp", "root", "root");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
//关闭连接
protected void closeAll(Connection conn,PreparedStatement ps,ResultSet rs){
try {
if(rs != null)
rs.close();
if(ps != null)
ps.close();
if(conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}