jdbc連線資料庫執行sql主要是分更新和查詢兩種,為了減少冗餘,常常抽取通用方法作為一類。(這裡用的是mysql資料庫)
dao通用的步驟
1.獲取連線
2.輸入sql語句
3.建立preparestatement物件
4.執行sql語句
(1)更新
(2)查詢
5.關閉/處理異常
定義兩個通用的方法:
(1)更新
public void update(string sql,object paramvalue)
@sql 對於更新的sql操作語句
@paramvalue sql語句中佔位符對應的值
(2)查詢
public listquery(string sql,object paramvalue, classclazz)
@sql 對於更新的sql操作語句
@paramvalue sql語句中佔位符對應的值
@classclazz 表示傳入某一型別的位元組碼,就是要封裝成這種型別的物件
這樣就有了乙個通用的dao類,命名為basedao類,對於我們以後寫的dao類,都要繼承這個basedao類。這個basedao的**如下:
/**
* 通用的dao類,所有的dao類度繼承此類
* @author administrator
*兩個通用的方法:
* (1):更新
* (2):查詢
*/public class basedao
//根據條件查詢(查詢)
public employee findbyid(int id);
listlist = super.query(sql, paramvalue, employee.class);
return (list!=null&&list.size()>0) ? list.get(0) : null; }
}
最後就可以對功能進行測試,建立employeedao物件,呼叫更新或者查詢的方法,傳入引數就可以測試。
public class employeetest
}
oracle隨手筆記
1.儲存過程中is和as沒區別檢視 用is 游標 用as 不能反過來,其他情況沒區別 2.trim是用來去除字串開頭和結尾的函式 用法 select trim leading trailing both 你要刪的東西 from 被刪的字串 test trim from dual both後面沒有引數...
C 隨手筆記
成員變數在使用初始化列表初始化時,與建構函式中初始化成員列表的順序無關,只與定義成員變數的順序有關。因為成員變數的初始化次序是根據變數在記憶體中次序有關,而記憶體中的排列順序早在編譯期就根據變數的定義次序決定了。這點在effectivec 中有詳細介紹。如果不使用初始化列表初始化,在建構函式內初始化...
MySql隨手筆記
1,acid 資料庫事務正常執行的四個基本要素 2,多表查詢的三種連線方式,2.1 交叉連線,表1cross join 表2。查詢兩張表的結果,不會對錶的結果過濾,使用場景很少。返回的結果集是兩張表的笛卡爾集,比如第一張表 有4條記錄,第二張表有4條記錄,即4 4 16條。2.2 內連線,selec...