8、图书查询功能
1、添加圖書查詢的Dao代碼
/*** 圖書Dao類* @author Administrator**/ public class BookDao {/*** 圖書添加* @param con* @param book* @return* @throws Exception */public int add(Connection con,Book book) throws Exception{String sql="insert into t_book values(null,?,?,?,?,?,?)";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, book.getBookName());pstmt.setString(2, book.getAuthor());pstmt.setString(3, book.getSex());pstmt.setFloat(4, book.getPrice());pstmt.setInt(5, book.getBookTypeId());pstmt.setString(6, book.getBookDesc());return pstmt.executeUpdate();}------------------------------------------------------------ /*** 圖書信息查詢* @param con* @param book* @return* @throws Exception*/public ResultSet list(Connection con,Book book)throws Exception{StringBuffer sb=new StringBuffer("select * from t_book b,t_bookType bt where b.bookTypeId=bt.id");if(StringUtil.isNotEmpty(book.getBookName())){sb.append(" and b.bookName like '%"+book.getBookName()+"%'");}if(StringUtil.isNotEmpty(book.getAuthor())){sb.append(" and b.author like '%"+book.getAuthor()+"%'");}if(book.getBookTypeId()!=null && book.getBookTypeId()!=-1){sb.append(" and b.bookTypeId="+book.getBookTypeId());}PreparedStatement pstmt=con.prepareStatement(sb.toString());return pstmt.executeQuery();}-------------------------------------------------------------------------- }2、新建“圖書管理-修改”窗體,BookManageInterFrm.java
修改布局:
添加JScrollPane組件,
接著在JScrollPane組件上再添加JTable組件,修改table組件的model屬性,給表格添加標題:
添加的組件:
重命名組件:
3、封裝一個方法,把圖書類別下拉框的數據寫入
/*** 初始化下拉框*/private void fillBookType(String type)throws Exception{Connection con=null;BookType bookType=null;try{con=dbUtil.getCon();ResultSet rs=bookTypeDao.list(con, new BookType());if("search".equals(type)){bookType=new BookType();bookType.setBookTypeName("請選擇");bookType.setId(-1);this.s_bookTypeJcb.addItem(bookType);}while(rs.next()){bookType=new BookType();bookType.setBookTypeName(rs.getString("bookTypeName"));bookType.setId(rs.getInt("id"));if("search".equals(type)){this.s_bookTypeJcb.addItem(bookType);}else if("modify".equals(type)){}}}catch(Exception e){e.printStackTrace();}finally{try {dbUtil.close(con);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}調用方法:
this.fillBookType("search");4、給“圖書管理-修改”添加事件
public void actionPerformed(ActionEvent e) {BookManageInterFrm bookManageInterFrm=new BookManageInterFrm();bookManageInterFrm.setVisible(true);table.add(bookManageInterFrm);}5、封裝一個方法,把圖書信息table的數據寫入
重命名table的名稱為bookTable
/*** 初始化表格數據* @param book*/private void fillTable(Book book){DefaultTableModel dtm=(DefaultTableModel)bookTable.getModel();dtm.setRowCount(0);Connection con=null;try{con=dbUtil.getCon();ResultSet rs=bookDao.list(con, book);while(rs.next()){Vector v=new Vector();v.add(rs.getString("id"));v.add(rs.getString("bookName"));v.add(rs.getString("author"));v.add(rs.getString("sex"));v.add(rs.getFloat("price"));v.add(rs.getString("bookDesc"));v.add(rs.getString("bookTypeName"));dtm.addRow(v);}}catch(Exception e){e.printStackTrace();}finally{try {dbUtil.close(con);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}調用方法:
this.fillTable(new Book());6、實現查詢功能
給查詢按鈕添加事件
總結
- 上一篇: 7、图书添加功能
- 下一篇: 9、图书修改,删除功能