⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searchbookdaoimpl.java

📁 一个简单的图书馆的管理系统,该系统主要是针对学校的图书馆而做的
💻 JAVA
字号:
package librarymanagement.dao.searchbookdao;

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

import javax.swing.JOptionPane;

import librarymanagement.dao.common.DBConnectionManager;
import librarymanagement.dao.common.DbException;
import librarymanagement.dao.common.DbSql;
import librarymanagement.vo.SearchBooksVo;

public class SearchBookDaoImpl implements SearchBookDao {

	private DBConnectionManager manager = DBConnectionManager.getInstance();;

	/**
	 * 根据书作者查询书籍
	 * 
	 * @throws DbException
	 */
	public Vector searchBookByAuthor(String author) throws DbException {

		Vector v = null;
		PreparedStatement st = null;
		ResultSet set = null;
		Connection con = manager.getConnection("oracle");
		try {
			v = new Vector();
			st = con.prepareStatement(DbSql.SELECT_BOOK_BY_AUTHOR);
			st.setString(1, author);
			set = st.executeQuery();
			setVector(set, v);
			if (v.isEmpty()) {
				throw new DbException("数据库中不存在符合条件的书籍");
			}
		} catch (SQLException e) {
			JOptionPane.showConfirmDialog(null, e.getMessage(), "异常提示",
					JOptionPane.YES_OPTION);
		} finally {
			manager.freeConnection("oracle", con);
		}
		return v;

	}

	/**
	 * 按照作者和类型查询书籍
	 * 
	 * @param author
	 *            作者
	 * @param kind
	 *            书类型
	 * @return
	 */
	public Vector searchBookByAuthorAndKind(String author, String kind)
			throws DbException {
		Vector v = null;
		PreparedStatement st = null;
		ResultSet set = null;
		Connection con = manager.getConnection("oracle");
		try {
			v = new Vector();
			st = con.prepareStatement(DbSql.SELECT_BOOK_BY_AUTHOR_AND_KIND);
			st.setString(1, author);
			st.setString(2, kind);
			set = st.executeQuery();
			setVector(set, v);
			if (v.isEmpty()) {
				throw new DbException("数据库中不存在符合条件的书籍");
			}
		} catch (SQLException e) {
			JOptionPane.showConfirmDialog(null, e.getMessage(), "异常提示",
					JOptionPane.YES_OPTION);
		} finally {
			manager.freeConnection("oracle", con);
		}
		return v;
	}

	/**
	 * 按照作者和书名称查询书籍
	 * 
	 * @param author
	 *            作者
	 * @param bookName
	 *            书名
	 * @return
	 */
	public Vector searchBookByAuthorAndName(String author, String bookName)
			throws DbException {
		Vector v = null;
		PreparedStatement st = null;
		ResultSet set = null;
		Connection con = manager.getConnection("oracle");
		try {
			v = new Vector();
			st = con.prepareStatement(DbSql.SELECT_BOOK_BY_NAME_AND_AUTHOR);
			st.setString(1, bookName);
			st.setString(2, author);
			set = st.executeQuery();
			setVector(set, v);
			if (v.isEmpty()) {
				throw new DbException("数据库中不存在符合条件的书籍");
			}
		} catch (SQLException e) {
			JOptionPane.showConfirmDialog(null, e.getMessage(), "异常提示",
					JOptionPane.YES_OPTION);
		}

		finally {
			manager.freeConnection("oracle", con);
		}
		return v;
	}

	/**
	 * 按照书籍编号查询书籍
	 * 
	 * @param bookId
	 *            书编号
	 * @return
	 */
	public Vector searchBookById(int bookId) throws DbException {
		Vector v = null;
		PreparedStatement st = null;
		ResultSet set = null;
		Connection con = manager.getConnection("oracle");
		try {
			v = new Vector();
			st = con.prepareStatement(DbSql.SELECT_BOOK_BY_ID);
			st.setInt(1, bookId);
			set = st.executeQuery();
			setVector(set, v);
			if (v.isEmpty()) {
				throw new DbException("数据库中不存在符合条件的书籍");
			}
		} catch (SQLException e) {
			JOptionPane.showConfirmDialog(null, e.getMessage(), "异常提示",
					JOptionPane.YES_OPTION);
		} finally {
			manager.freeConnection("oracle", con);
		}
		return v;
	}

	/**
	 * 按照书的类型查找书籍
	 * 
	 * @param bookKind
	 *            书类型
	 * @return
	 */
	public Vector searchBookByKind(String bookKind) throws DbException {
		Vector v = null;
		PreparedStatement st = null;
		ResultSet set = null;
		Connection con = manager.getConnection("oracle");
		try {
			v = new Vector();
			st = con.prepareStatement(DbSql.SELECT_BOOK_BY_KIND);
			st.setString(1, bookKind);
			set = st.executeQuery();
			setVector(set, v);
			if (v.isEmpty()) {
				throw new DbException("数据库中不存在符合条件的书籍");
			}
		} catch (SQLException e) {
			JOptionPane.showConfirmDialog(null, e.getMessage(), "异常提示",
					JOptionPane.YES_OPTION);
		} finally {
			manager.freeConnection("oracle", con);
		}

		return v;
	}

	/**
	 * 按照图书类别和名称查询书籍
	 * 
	 * @param kind
	 *            书类型
	 * @param bookName
	 *            书名称
	 * @return
	 */
	public Vector searchBookByKindAndName(String kind, String bookName)
			throws DbException {
		Vector v = null;
		PreparedStatement st = null;
		ResultSet set = null;
		Connection con = manager.getConnection("oracle");
		try {
			v = new Vector();
			st = con.prepareStatement(DbSql.SELECT_BOOK_BY_NAME_AND_KIND);
			st.setString(1, bookName);
			st.setString(2, kind);
			set = st.executeQuery();
			setVector(set, v);
			if (v.isEmpty()) {
				throw new DbException("数据库中不存在符合条件的书籍");
			}
		} catch (SQLException e) {
			JOptionPane.showConfirmDialog(null, e.getMessage(), "异常提示",
					JOptionPane.YES_OPTION);
		} finally {
			manager.freeConnection("oracle", con);
		}

		return v;
	}

	public Vector searchBookByName(String bookName) throws DbException {
		Vector v = null;
		PreparedStatement st = null;
		ResultSet set = null;
		Connection con = manager.getConnection("oracle");
		try {
			v = new Vector();
			v = new Vector();
			st = con.prepareStatement(DbSql.SELECT_BOOK_BY_NAME);
			st.setString(1, bookName);
			set = st.executeQuery();
			setVector(set, v);
			if (v.isEmpty()) {
				throw new DbException("数据库中不存在符合条件的书籍");
			}
		} catch (SQLException e) {
			JOptionPane.showConfirmDialog(null, e.getMessage(), "异常提示",
					JOptionPane.YES_OPTION);
		} finally {
			manager.freeConnection("oracle", con);
		}

		return v;
	}

	private void setVector(ResultSet set, Vector v) throws SQLException {

		while (set.next()) {
			int bookId = set.getInt("book_id");
			String bookName = set.getString("book_name");
			String author = set.getString("author");
			String bookLocation = set.getString("book_location");
			String edition = set.getString("edition");
			int inAmount = set.getInt("in_amount");
			int bookAmount = set.getInt("book_amount");
			String kind = set.getString("kind");
			float price = set.getFloat("price");
			String publisCom = set.getString("publis_com");
			v.add(new SearchBooksVo(author, bookAmount, bookId, bookLocation,
					bookName, edition, inAmount, kind, price, publisCom));
		}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -