J2SE图书管理系统(8)——图书查询功能
生活随笔
收集整理的這篇文章主要介紹了
J2SE图书管理系统(8)——图书查询功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.數據訪問層:com.java.dao;?
先在BookDao里面寫圖書查詢的方法:
//圖書查詢方法public ResultSet list(Connection con,Book book) throws Exception{//動態結合,用StringBuffer比較好StringBuffer sb=new StringBuffer("select * from t_book b,t_bookType bt where b.bookTypeId=bt.id");//sql語句查詢,當條件有多個時,就用and暫時替代whereif(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());}//調用replaceFirst方法將and替換掉PreparedStatement pstmt=con.prepareStatement(sb.toString().replaceFirst("and", "where"));return pstmt.executeQuery();}?
?2.視圖層:com.java.view;
然后在視圖層里寫圖書查詢的界面:
將三個框進行修改別名:
圖書名稱框改為:s_bookName_Txt;
圖書作者框改為:s_author_Txt;
圖書類別修改為:s_bookType_Jcb;
?
然后在主界面中關聯一下圖書查詢的界面即Book_Manage_InterFrm;
其后,我們寫一下界面中圖書類別的下拉框方法:
/*** 初始化下拉框* @param type 下拉框類型*/private void fillBookType(String type){Connection con=null;try{con=dbUtil.getCon();ResultSet rs=bookTypeDao.list(con, new BookType());if("search".equals(type)){BookType bookType=new BookType();bookType.setBookTypeName("請選擇...");bookType.setId(-1);this.s_bookType_Jcb.addItem(bookType);}while(rs.next()){BookType bookType=new BookType();bookType.setBookTypeName(rs.getString("bookTypeName"));bookType.setId(rs.getInt("id"));if("search".equals(type)){this.s_bookType_Jcb.addItem(bookType);}else if("modify".equals(type)){}}}catch(Exception e){e.printStackTrace();}finally{try {dbUtil.close(con);} catch (Exception e) {e.printStackTrace();}}}注意在界面中有兩個下拉框,我們加一個參數type來區分是查詢的下拉框還是修改的下拉框;?
然后在主方法里調用方法fillBookType;
?這個時候運行,下拉框就被數據內容填充了!
?
接下來寫填充表格內容的方法:
/*** 初始化表格數據* @param book*/@SuppressWarnings({ "rawtypes", "unchecked" })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) {e.printStackTrace();}}}這樣運行之后表格自然就有了數據庫表t_book里面的內容了,如圖所示:
?
?
最后寫查詢方法,這和之前的圖書類別查詢是一樣的:
?
?
最后測試:
可以看到查詢成功!?
?
總結
以上是生活随笔為你收集整理的J2SE图书管理系统(8)——图书查询功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阅读理解(1)|TED演讲_20岁光阴不
- 下一篇: 各个开发工具格式化代码的快捷键