使用註解開發
先學習思想
面向介面程式設計
為什麼要面向介面程式設計?根本原因:解耦,可拓展,提高復用,分層開發中,上層不用管具體的實現,大家遵守共同的標準,使得開發變得容易,規範性更好。
關於介面的理解
定義(規範、約束)與實現(名實分離原則)的分離。
介面的本身反映了系統設計人員對系統的抽象理解。
介面分為兩類:
1.乙個個體的抽象,它可對應為乙個抽象體。
2.乙個個體某一方面的抽象,形成乙個抽象面。
乙個個體可能有多個抽象面,抽象體與抽象面是有區別的。
三個面向的區別
物件導向:考慮問題時,以物件為單位,考慮它的屬性及方法。
面向過程:考慮問題時,以乙個具體的流程(事務過程)為單位,考慮它的實現。
利用註解開發
查詢@select
//查詢全部使用者
@select("select id,name,pwd password from user")
public listgetalluser();
這裡需要注意,因為沒有了xml檔案,所以繫結改為繫結介面
@testpublic
void
testgetalluser()
session.close();
}
修改@update
//修改乙個使用者
@update("update user set name=#,pwd=# where id = #")
int updateuser(user user);
@testpublic
void
testupdateuser()
刪除@delete
//根據id刪除用
@delete("delete from user where id = #")
int deleteuser(@param("id")int id);
@testpublic
void
testdeleteuser()
新增@insert
//新增乙個使用者
@insert("insert into user (id,name,pwd) values (#,#,#)")
int adduser(user user);
@testpublic
void
testadduser()
再次注意:增刪改需要手動提交事務。
寫在最後:
關於@param
@param註解用於給方法的引數取名字。
在方法只有乙個引數的情況下,可以不使用。
在有多個引數的情況下,建議最好帶上。
如果引數是j**abean,不能使用@param。
#與$的區別
#{}的作用主要是替換預編譯語句中的佔位符,一般使用。
insert into user (name) values (#);insert into user (name) values (?);
${} 的作用是直接進行字串替換
insert into user (name) values ('$');insert into user (name) values ('kuangshen');
關於使用xml檔案和註解的選擇
在少量引數,且關係不複雜時可以選擇使用註解。
在引數多,並且之間關係複雜,涉及到結果集對映,一對多、多對一的情況下,選擇使用xml更好。
使用xml和註解協同開發,才是最佳實踐。
MyBatis學習總結 04 使用註解開發
mybatis學習總結 04 使用註解開發 面向介面程式設計 關於介面的理解 介面應有兩類 第一類是對乙個個體的抽象,它可對應為乙個抽象體 abstract class 第二類是對乙個個體某一方面的抽象,即形成乙個抽象 inte ce 三個面向區別 利用註解開發 1 我們在我們的介面中新增註解 查詢...
四 MyBatis04 使用註解開發
1 我們在我們的介面中新增註解 查詢全部使用者 select select id,username,pwd from user public list getalluser 2 在mybatis的核心配置檔案中注入 class 3 我們去進行測試 test public void testgetal...
Mybatis全解 07 快取
快取 什麼是快取 存在記憶體中的資料。將使用者經常查詢的資料放在快取 記憶體 中,使用者去查詢資料就不用每次都從磁碟上查詢,可一衝快取中查詢,從而提高查詢的效率,解決了高併發系統的效能問題。為什麼要使用快取 減少和資料庫的互動次數,較少系統開銷,提高系統效率。哪些資料可一使用快取 經常查詢並且不經常...