第一次做論壇,寫了一個查詢方法,請各位大大來幫我看看是否太大了
public static ArrayList searchSort() { int sortid; ResultSet rst_sort= null; ResultSet rst_master= null; ResultSet rst_topicNum = null; ResultSet rst_responseNum = null; ResultSet rst_topic = null; Statement stmt_sort = null; PreparedStatement stmt_master = null; PreparedStatement stmt_topicNum = null; PreparedStatement stmt_responseNum = null; PreparedStatement stmt_topic = null; Connection connection = DBConnection.createConnection();// 獲取連線 ArrayList result = new ArrayList(); try { stmt_sort = connection.createStatement(); //查詢論壇的詳細資訊 rst_sort= stmt_sort.executeQuery("select * from bbssort"); //查詢論壇版主名稱 stmt_master = connection.prepareStatement("select master from bbsmaster where sortid = ?"); //查詢每個論壇的主題總數 stmt_topicNum = connection.prepareStatement("select count(*) from bbstopic where sortid = ?"); //查詢每個論壇回帖總數 stmt_responseNum = connection.prepareStatement("select count(*) from bbsresponse where sortid = ?"); //查詢每個論壇的最新主題資訊 stmt_topic = connection.prepareStatement("select * from bbstopic where sortid = ? order by topictime desc"); while (rst_sort.next()) { Sort sort = new Sort(); //構造論壇分類資訊模型物件 sortid = rst_sort.getInt("sortid");// 得到論壇分類id sort.setId(sortid);//獲得論壇id編號 sort.setName(rst_sort.getString("sortname"));// 獲得論壇分類名稱 /** <1> **/ stmt_master.setInt(1, sortid);// 執行第一個預編譯 sql查詢論壇版主名稱 rst_master = stmt_master.executeQuery(); if( rst_master.next() ) sort.setMaster(rst_master.getString("master"));// 獲得論壇版主名稱 /** <2> **/ stmt_topicNum.setInt(1, sortid);// 執行第二個預編譯 sql查詢論壇討論區中文章的數量 rst_topicNum = stmt_topicNum.executeQuery(); if (rst_topicNum.next()) sort.setTopicNum(rst_topicNum.getInt(1)); /** <3> **/ stmt_responseNum.setInt(1, sortid);// 執行第三個預編譯sql 查詢每個論壇回帖的總數 rst_responseNum = stmt_responseNum.executeQuery(); if( rst_responseNum.next() ) sort.setResponseNum(rst_responseNum.getInt(1)); /** <4> **/ stmt_topic.setInt(1, sortid);// 執行第四個預編譯sql 查詢每篇文章的基本資訊 rst_topic = stmt_topic.executeQuery(); if (rst_topic.next()) { sort.setLastTopicId(rst_topic.getInt("topicid"));//獲得最新發表的主題ID編號 sort.setLastTopic(rst_topic.getString("topicname"));//獲得最新發表的主題名稱 sort.setLastTopicOwner(rst_topic.getString("topicowner"));//獲得主題作者 //獲得最新發表時間 sort.setLastTopicTime(DateFormat.getDateTimeInstance().format(rst_topic.getDate("topictime"))); } result.add(sort);//論壇模型物件放入自動增長陣列中 } return result; } catch (SQLException e) { e.printStackTrace(); return null; } finally { //關閉查詢論壇分類的記錄集 DBConnection.releaseResultSet(rst_sort); DBConnection.releaseStatement(stmt_sort); //關閉查詢論壇版主的記錄集 DBConnection.releaseResultSet(rst_master); DBConnection.releaseStatement(stmt_master); //關閉查詢主題總數的記錄集 DBConnection.releaseResultSet(rst_topicNum); DBConnection.releaseStatement(stmt_topicNum); //關閉查詢回帖總數的記錄集 DBConnection.releaseResultSet(rst_responseNum); DBConnection.releaseStatement(stmt_responseNum); //關閉查詢最新發表主題資訊的記錄集 DBConnection.releaseResultSet(rst_topic); DBConnection.releaseStatement(stmt_topic); //關閉資料庫連線,回收連線池 DBConnection.releaseConnection(connection); } } <p class="indent"> |
小弟我水平不足,經驗也沒有,不知道這樣的一個方法是否過於龐大
我也想過分成幾個方法來寫,但是一分開就不能用到PreparedStatement預執行語句了,而且又要另外的再獲取連線.
我有四個PreparedStatement預查詢都是基於第一個Statement的查詢結果的
哪位大大幫我看看,出個好點的主意,謝謝!
相關文章
- 為了學JAVA,我也開了論壇Java
- 求各位前輩幫忙看看連表查詢字首問題
- 大家幫我看看,下面寫的是否對。(web.xml)WebXML
- 自己練習寫一個論壇時遇到問題幫我解決了吧
- (1.5年 測試經驗) 關於簡歷,請各位幫我看看。
- 請Banq別刪我的貼子,請這個論壇的高手們給我解決方案!謝了!
- 我寫了一個從DATASOURCE取得CONNECTION的工具類,大家看看
- 我,第一次做專案經理,幹賠了
- 請教各位:我想用struts框架來做一個練習,在我的機子上應該???框架
- 我想用JiveJdon3做一個網站的論壇網站
- 終於,幫開發寫了一個bug
- 一個執行緒的問題。請大俠進來幫幫忙看看執行緒
- 請各位高人幫我指點一下我的職業規劃!謝謝了!(5年多工作經驗)
- 高手請幫忙看看小弟寫的這個web service:Web
- “超休閒遊戲”如何做曝光?我們幫你總結了四大方法論遊戲
- 來阿里一年後我迎來了第一次工作變動....阿里
- 伺服器出現了一個新軟體,一幫大佬吵起來了!伺服器
- 各位高手來幫我看看sql的問題吧,謝謝啦,線上等答案啊SQL
- 板橋及各位高手,幫我看看遠端呼叫這個難題,非常感謝。
- 我寫了一個開源專案AlphabetPyAlphabet
- 我寫了一個TypeScript虛擬機器。TypeScript虛擬機
- 我寫了個BoardView,看一下吧。View
- 來幫我看看這個簡單的遠端客戶端呼叫EJB出錯的例子,謝謝了客戶端
- 我來談一談 WebDAV - - AJAX - JavaEye論壇WebJava
- 請各位高手幫忙!
- banq可以開個Java Desktop Tech論壇了Java
- 請各位幫我看看javamail的問題(本不應在這裡提這類問題,但在csdn實在沒人幫我解答)JavaAI
- 我做的社群新版本出來了!
- 想要搭建個論壇?Guide哥調研了100來個 Java 開源論壇系統,發現這 5 個最好用!GUIIDEJava
- 一個有趣的故事(請討論JdonFramework的各位進)Framework
- itpub 論壇賬號被禁了,求解
- 大家幫幫忙,看看這個SQL怎麼寫!SQL
- 請幫我看看呼叫webservice的問題謝謝!Web
- 請教各位大俠,如果查詢一個已建立的有狀態session bean?SessionBean
- 請各位大佬幫忙看看我的 Page Object 模式用的對不對Object模式
- 本人初學JAVA請各位幫幫忙...Java
- 一個巧合,我把文件寫進了程式碼裡
- 攤牌了!我要手寫一個“Spring Boot”Spring Boot