Java菜鳥學習日記16

2021-08-04 03:41:58 字數 1801 閱讀 8621

直接使用jsbc開發的問題

當表中的列很多時,需要寫很長的sql語句,還需要寫大量的引數設定語句(set***())

讀取資料時,還需寫大量的設定屬性語句(set***())

易錯且不易修改,如某個字段需要去掉,就需要調整後續的很多序號

大量的時間都花在了「搬磚」上

而且很容易埋下bug,後期測試和修復時間大大增加

結論:效率低下,質量不高

一套完整的,能夠解決某個方面問題的api,可以稱為框架(framework)、庫(library)

單選列表

$:索引(從0開始)

$:序號(從1開始)

$:當前值,與var相等

$:布林值,是否是第一項

$:布林值,是否是最後一項

varstaus:這個屬性在中也存在

jstl下拉列表、單選框、核取方塊的選中問題:

要選中的項

要選中的項

單選框要選中的物件

關於getter/setter方法

如果屬性以is開頭,eclipse生成getter/setter如下:

getter:is***

setter:set***

舉例:ismale、isadmin

ismale():setmale():isadmin():setadmin()

使用el表示式時,應該寫成:

$ $資料分頁的必要性

一次性把所有的資料從資料庫中查出來,會給資料庫帶來很大的io開銷,而io是最慢的操作。結果是資料庫併發量大大降低。

一次性把大量的資料庫傳到應用伺服器,再從應用伺服器傳到使用者瀏覽器,會占用伺服器寶貴的頻寬資源,導致伺服器能夠處理請求大大減少。

查詢和傳送大量資料,需要的時間必然很長,結果導致頁面反應速度變慢,使用者體驗變差

人類可讀的資料不超過幾十條,傳送成百上千條資料沒有意義

分頁資料的查詢

pageno 頁碼(從1開始)

pagesize 每頁條數(預設10條)

pagetotal

能夠計算出來任意的pageno對應的起始索引位置

start = (pageno-1)*pagesize

count = pagesize

mysql資料庫的limit子句

limit start,count

start:起始索引位置

count:每頁的條數

pager類的設計

pager類的職責:

根據pageno、total、pagesize、showpagenos計算pagecount、start、end

這些資料用來支援在頁面上顯示分頁資訊和頁碼:

共123條資料,第3頁/共13頁 1 2

3 4 5 6 7 8 9

區分那些資料是傳過來的,那些資料是算出來的,將傳過來的資料當作構造方法的引數。根據引數的變化頻率調整引數的為值(eclipse重構功能支援)

將變化頻率高的引數放在前面

同時增加構造方法過載,對變化頻率低的設定預設值

內部類

如果需要把多個類定義在乙個檔案中,尤其是這些類都需要publilc的時候,可以把乙個類作為主類,其他類定義在它的內部

自定義異常類

如果希望自定義異常向外部提示錯誤,則需要讓自定義異常類從throwable繼承或從其子類繼承,常用的子類是exception和runtimeexception

exception:繼承它為受查異常,必須try/catch或throws

runtimeexception:繼承它為非受查異常,不必try/catch或throws,程式設計時更加自由

受用throws丟擲異常

Java菜鳥學習日記30

bootstrap 響應式按鈕 表現效果 手機上全寬,桌面上2列寬 原理 btn block 會將按鈕變成全寬,但桌面上 col sm 2 生效,按鈕被限制在2列寬中,手機上col sm 2失效 在自己的專案中整合第三方外掛程式或功能 找到所有的依賴項 css js jar 配置檔案 並且注意依賴項...

Java菜鳥學習日記33

使用git分支開發新特性或修復bug 每個分支都有自己的歷史記錄 除了使用eclipse工具建立切換分支之外,也可以使用命令方式建立及切換分支 使用 responsebody和jackson返回json資料 返回json資料時,控制器返回的不是modelandview或string檢視名,而是要返回...

Java菜鳥學習日記34

ajax請求 jquery ajax url url,type 請求方法 get post data 要傳送的資料,datatype 返回的資料型別 json success function 成功時會被呼叫,error function 失敗時會被呼叫 headers 請求成功時的資料獲取及轉換 ...