Java Web图书管理系统需要的模板

JDBC(增删改查借)

使用的是PreparedStatement接口实现

JDBCUtil 工具类

工具类负责所有调用mysql数据库的建立连接、执行sql语句、回收的所有功能

public class JdbcUtil {
	public static String driverName = "com.mysql.jdbc.Driver";
	public static String url = "jdbc:mysql://localhost:3306/test";
	public static String username = "root";
	public static String password = "sa";

	static {
		try {
			Class.forName(driverName);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	public static Connection getConn() {
		try {
			return DriverManager.getConnection(url, username, password);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	public static void close(Connection conn, PreparedStatement ps, ResultSet res) {
		if (res != null) {
			try {
				res.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (ps != null) {
			try {
				ps.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

创建图书

public void create(Book b) {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet res = null;
		try {
			conn = JdbcUtil.getConn();
			String sql = "insert into book(bookid,bookname,author,price,note,borrow,appoint,renew,username,time)values(?,?,?,?,?,?,?,?,?,?)";
			ps = conn.prepareStatement(sql);
			ps.setString(1, b.getBookId());
			ps.setString(2, b.getBookname());
			ps.setString(3, b.getAuthor());
			ps.setString(4, b.getPrice());
			ps.setString(5, b.getNote());
			ps.setInt(6, 0);
			ps.setInt(7, 0);
			ps.setInt(8, 0);
			ps.setString(9, "");
			ps.setInt(10, 0);
			ps.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			JdbcUtil.close(conn, ps, res);
		}
	}

删除图书

public void Delete(String bookid) {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet res = null;
		try {
			conn = JdbcUtil.getConn();
			String sql = "delete from book where bookid=?";
			ps = conn.prepareStatement(sql);
			ps.setString(1, bookid);
			ps.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			JdbcUtil.close(conn, ps, res);
		}
	}

查询图书

public Book Query(String bookid) {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet res = null;
		try {
			conn = JdbcUtil.getConn();
			String sql = "select * from book where bookid=?";
			ps = conn.prepareStatement(sql);
			ps.setString(1, bookid);
			res = ps.executeQuery();
			if (res.next()) {
				Book b = new Book(bookid);
				b.setBookname(res.getString("bookname"));
				b.setAuthor(res.getString("author"));
				b.setPrice(res.getString("price"));
				b.setNote(res.getString("note"));
				b.setBorrow(res.getInt("borrow"));
				b.setAppoint(res.getInt("appoint"));
				b.setRenew(res.getInt("renew"));
				b.setUsername(res.getString("username"));
				b.setTime(res.getInt("time"));
				JdbcUtil.close(conn, ps, res);
				return b;
			} else {
				Book b = new Book("No");
				JdbcUtil.close(conn, ps, res);
				return b;
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			JdbcUtil.close(conn, ps, res);
		}
		return null;
	}

修改图书

public int Modify(Book b) {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet res = null;
		try {
			conn = JdbcUtil.getConn();
			String sql = "update book set bookname=?,author=?,price=?,note=?,borrow=?,appoint=?,renew=?,username=?,time=? where bookid=?";
			ps = conn.prepareStatement(sql);
			ps.setString(1, b.getBookname());
			ps.setString(2, b.getAuthor());
			ps.setString(3, b.getPrice());
			ps.setString(4, b.getPrice());
			ps.setInt(5, b.getBorrow());
			ps.setInt(6, b.getAppoint());
			ps.setInt(7, b.getRenew());
			ps.setString(8, b.getBookId());
			ps.setString(9, b.getUsername());
			ps.setInt(10, b.getTime());
			int n = ps.executeUpdate();
			JdbcUtil.close(conn, ps, res);
			return n;
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			JdbcUtil.close(conn, ps, res);
		}
		return 0;
	}

图书借阅

public String Borrow(String username, String bookid) {
		Connection conn = null;
		PreparedStatement ps = null;
		PreparedStatement ps2 = null;
		ResultSet res = null;
		try {
			conn = JdbcUtil.getConn();
			String sql = "select * from book where bookid=?";
			ps = conn.prepareStatement(sql);
			ps.setString(1, bookid);
			res = ps.executeQuery();
			if (res.next()) {
				if (res.getInt("borrow") == 0) {
					if (res.getInt("appoint") == 0) {
						String sql1 = "update book set borrow=?,username=?,time=? where bookid=?";
						ps2 = conn.prepareStatement(sql1);
						ps2.setInt(1, 1);
						ps2.setString(2, username);
						ps2.setInt(3, 1);
						ps2.setString(4, bookid);
						ps2.executeUpdate();
						ps2.close();
						JdbcUtil.close(conn, ps, res);
						return "借阅成功";
					} else {
						JdbcUtil.close(conn, ps, res);
						return "该书已经被预约";
					}
				} else {
					JdbcUtil.close(conn, ps, res);
					return "该书已经被借阅";
				}
			} else {
				JdbcUtil.close(conn, ps, res);
				return "查无此书";
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			JdbcUtil.close(conn, ps, res);
		}
		return "error";
	}

Servlet中的request、response的设置中文

request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值