IT貓撲網:您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉貼|軟件發(fā)布

您當前所在位置:首頁網絡編程JAVA編程 → Java下創(chuàng)建表格與數(shù)據(jù)庫交互的幾個要點

Java下創(chuàng)建表格與數(shù)據(jù)庫交互的幾個要點

時間:2015/6/28來源:IT貓撲網作者:網管聯(lián)盟我要評論(0)

   我們在這里講談到創(chuàng)建表格和數(shù)據(jù)庫交換的問題,實際開發(fā)中肯定會遇到數(shù)據(jù)庫交互的問題,對數(shù)據(jù)庫的操作也是實現(xiàn)更多功能的前提。

   應用程序需要將用戶填入的數(shù)據(jù)保存到數(shù)據(jù)庫中,同時又要將數(shù)據(jù)庫中的數(shù)據(jù)讀取到前臺應用程序供用戶查詢。而表格工具無疑是這個用戶與數(shù)據(jù)庫之間交互理想的中間平臺。筆者今天就跟大家分享一下,再java平臺中建立表格的一些技巧。

   一、是否允許用戶對記錄進行重排序?

   當從數(shù)據(jù)庫中讀取記錄然后反映在表格中,有很多地方可以控制記錄的排序。在不排序的情況下,從數(shù)據(jù)庫中讀取數(shù)據(jù)的時候是根據(jù)記錄創(chuàng)建的時間先后順序反映在前臺的表格中。為了控制顯示的順序,數(shù)據(jù)庫管理員可以在數(shù)據(jù)庫層面上,針對這張表格創(chuàng)建一張視圖,并在視圖中設置排序規(guī)則,來改變默認的排序順序。這張方式效率比較高,但是也比較死板。因為只有數(shù)據(jù)庫管理員才能夠更改這個排序規(guī)則。其次在Java平臺中,將相關的SQL語句傳遞給數(shù)據(jù)庫以獲取想要的數(shù)據(jù)時,也可以利用order by關鍵字來設置排序的順序。不過這跟數(shù)據(jù)庫層面上設置一樣,也有一個致命的缺陷,即這個排序規(guī)則必須預先設置好。如果用戶不滿意當前的排序規(guī)則,則必須要系統(tǒng)管理員或者開發(fā)人員幫忙才能夠更改排序方式。顯然這兩個排序方式都不是很靈活。

   其實用戶需要的是在前臺應用程序窗口中,可以根據(jù)需要對任何一個字段進行排序。如點擊某個字段名字,就根據(jù)這個字段名進行排序。在Java平臺創(chuàng)建表格的類中,本身就已經集成了重新排列的功能。如在創(chuàng)建表格的時候,可能需要用到一個JTableHeader類(可以用這個類創(chuàng)建不支持滾動條的表格),在這個類中,有一個setRecorderingAllowed方法,其會有true與false兩個返回值。如果這個方法返回的時true,則表示允許用戶在這個表格上對記錄進行重新排序。如果返回的是false的話,則表示用戶無法在表格上對記錄進行重新排序。如果不滿意現(xiàn)在的排序規(guī)則,只有要求系統(tǒng)管理員或者開發(fā)人員在后臺更改排序規(guī)則。

   對這個排序規(guī)則的設置,筆者有一個建議。首先程序開發(fā)人員或者數(shù)據(jù)庫管理人員要根據(jù)用戶常見的需求,即最常用的排序規(guī)則來進行設置。如此的話,用戶一打開前臺表格,就可以得到自己想要的排序方式。然后在表格上也允許用戶進行重新排序。當用戶有需要的時候,可以輕易實現(xiàn)按任何一個字段進行排序。筆者認為這種排序規(guī)則比較合理。在實際應用程序開發(fā)中,筆者也是如此做的。不過這里需要注意一點,如果查詢出來的紀錄比較多,此時即使在前臺對記錄進行排序,效率也會比較低。為此對于大記錄的表格,筆者的建議是在數(shù)據(jù)庫設計或者應用程序開發(fā)中,就要評估用戶最常常用的排序規(guī)則。如在產品信息窗口中,可以按關鍵字或者產品類別進行排序。如此就可以最大程度的減少二次排序,提高應用程序的性能。

   二、是否允許對表格中的內容進行編輯?

   在表格創(chuàng)建的時候,還需要注意是否允許用戶對表格中的數(shù)據(jù)進行更改。對于這一點程序開發(fā)人員也可以在多個層面對其進行控制。如某個表格對于任何用戶來說都是只讀的,只允許應用程序對其進行更新,那么就可以在數(shù)據(jù)庫層面進行控制。如對于系統(tǒng)日志表格來說,用戶就不能夠進行更改,只有查詢。為此就可以針對這張表格創(chuàng)建一張只讀的視圖,供用戶查詢使用。而應用程序在更新的時候,則直接更新對應的基礎表格。這就是通過在數(shù)據(jù)庫層面對表格中的內容是否允許編輯進行控制。

   除此之外,還可以通過權限來進行控制。如可以在數(shù)據(jù)庫中設置不同的用戶、不同的權限來控制前臺表格對應的后臺數(shù)據(jù)庫表格的讀寫權限。在應用程序中,也可以控制對這張表格中內容的編輯能力。默認情況下,利用Java提供的現(xiàn)有類創(chuàng)建表格時,是允許用戶對表格中的內容進行編輯的。如用戶只要雙擊單元格,就可以對表格中的內容進行更改。如果系統(tǒng)管理員不希望用戶對表格中的內容進行更新,則就需要重構JTable類中的isCellEdittable方法。默認情況下,這個方法返回的值是true,表示允許用戶對其進行更改。如果返回的時false的話,在禁止用戶對單元格進行編輯。

   其實,在應用程序開發(fā)過程中,這個是一個動態(tài)的過程。如就拿銷售訂單來說,如果單據(jù)編號是自動編號的,那么就不允許用戶對單據(jù)編號這個列的內容進行更改。這個列中的內容都是系統(tǒng)自動產生的。相反,如果這個銷售訂單編號是手工創(chuàng)建的,那么就允許用戶對這個字段進行更改。所以在應用程序設計的時候,最好不要將這個寫死。一般可以在單據(jù)性別設置處進行設置。即設置一個開關,來控制是否允許用戶對表格中的單元格進行編輯。

   三、記錄時單選還是多選?

   在使用excel表格的時候,記錄的選擇模式有很多種。如用戶可以選擇一條記錄,也可以選擇多條連續(xù)的紀錄。甚至在其他鍵的幫助下,還可以選擇不連續(xù)的紀錄等等。特別是在同一個時間內選擇多條記錄,這可以在很大程度上提高復制粘貼的效率。

   在利用Java語言創(chuàng)建的表格中,也具有類似的功能。如在創(chuàng)建表格的類中有一個setSelectionMode方法,就是用來控制選擇模式的。默認情況下,這個方法有三個返回值。如果返回的是0,表示用戶在表格中只允許選擇一條記錄,如不允許選擇多條。如果返回的時1的話,則表示用戶可以通過鼠標拖拉等手段同時選擇多條記錄,單是這些記錄必須連續(xù)的,而不允許分散。如果這個方法返回的值是2,則表示用戶可以隨意的選擇多條記錄,這些記錄可以是連續(xù)的,也可以是不連續(xù)的。這個記錄的選擇模式,一般情況下不會對性能或者安全產生不利的影響。故到底采用哪種方式,最重要的還是要根據(jù)用戶的需求來定。

   除了以上的這些設置外,程序開發(fā)人員還可以對表格的外觀進行定義。如是否允許用戶調整列的寬度;是否允許按比例來調整表格所有列的寬度;如是否啟用自動調整功能,即按照字段的大小來進行自動調整;還是只允許調整最后一列的寬度等等。一般情況下,如果沒有特殊的需要,可以允許用戶根據(jù)需要調整任一列的寬度。特別是在需求不能夠確定的情況下,可以這么做。免得在用戶需要的時候,再去更改系統(tǒng)源代碼或者相關的設置。

   雖然說以上這些內容只是對表格的一些外觀的設置,如記錄的排序規(guī)則或者列的可編輯性,但是這些內容對于應用程序非常的重要,也是用戶用的最頻繁的一些操作。這不僅關系到后臺數(shù)據(jù)庫中數(shù)據(jù)的安全性,還會影響到應用程序的性能。程序開發(fā)人員必須對這方面的內容引起重視。根據(jù)用戶的需求,切實的做好這方面的開發(fā)定制。

關鍵詞標簽:Java,數(shù)據(jù)庫

相關閱讀

文章評論
發(fā)表評論

熱門文章 eclipse中如何設置字體大小_eclipse字體大小eclipse中如何設置字體大小_eclipse字體大小

相關下載

人氣排行 JS驗證日期格式是否正確Java中3DES加密解密調用示例Java技術-J2EE開發(fā)日記-MyEclipse快捷鍵與插件大全用Java刪除文件夾里的所有文件JavaScript基本語法-常量和變量C#中的空值的判斷JAVA實現(xiàn)屏幕抓圖 遠程桌面控制100多個很有用的JavaScript函數(shù)以及基礎寫法匯總