package jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import test.Book;
public class BookDAO {
public void addBook(Book book)throws SQLException {//add
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
//创建连接对象
conn = DBConnection.getConnection();
//定义sql语句
String sql = "insert into bookTest(ID,bookName,author,publication) values(?,?,?,?)";
//创建语句对象
ps = conn.prepareStatement(sql);
ps.setInt(1, book.getID());
ps.setString(2,book.getBookName());
ps.setString(3, book.getAuthor());
ps.setString(4, book.getPublication().trim());
ps.executeUpdate();
}finally{
//关闭资源对象
DBConnection.close(rs, ps, conn);
}
//return true;
}
public Vector<Book> getAllBook () throws SQLException{//get all
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
Vector<Book> books = new Vector<Book>();
try{
//创建连接对象
conn = DBConnection.getConnection();
//定义sql语句
String sql = "select id,bookname,author,publication from bookTest order by ID asc";
//创建语句对象,执行sql语句并得到结果集
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
//遍历结果集,得到数据库的信息
while(rs.next()){
Book book = new Book();
book.setID(rs.getInt("id"));
book.setBookName(rs.getString("bookname"));
book.setAuthor(rs.getString("author"));
book.setPublication(rs.getString("publication"));
books.add(book);
}
}finally{
DBConnection.close(rs, ps, conn);
}
return books;
}
public void updateBookInfo(Book book) throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
//创建连接对象
conn = DBConnection.getConnection();
//定义sql语句
String sql = "update bookTest set bookname=?,author=?,publication=? where id=?";
//创建语句对象
ps = conn.prepareStatement(sql);
ps.setString(1,book.getBookName());
ps.setString(2, book.getAuthor());
ps.setString(3, book.getPublication().trim());
ps.setInt(4, book.getID());
ps.executeUpdate();
}finally{
//关闭资源对象
DBConnection.close(rs, ps, conn);
}
}
public void deleteBook(int bookid) throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
//创建连接对象
conn = DBConnection.getConnection();
//定义sql语句
String sql = "delete from bookTest where id=?";
//创建语句对象
ps = conn.prepareStatement(sql);
ps.setInt(1, bookid);
ps.executeUpdate();
}finally{
//关闭资源对象
DBConnection.close(rs, ps, conn);
}
}
}