📄 searchbookdaoimpl.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 + -