Mybatis全解 04 使用註解開發

2022-09-14 20:15:29 字數 1989 閱讀 5404

使用註解開發

先學習思想

面向介面程式設計

為什麼要面向介面程式設計?根本原因:解耦,可拓展,提高復用,分層開發中,上層不用管具體的實現,大家遵守共同的標準,使得開發變得容易,規範性更好。

關於介面的理解

定義(規範、約束)與實現(名實分離原則)的分離。

介面的本身反映了系統設計人員對系統的抽象理解。

介面分為兩類:

1.乙個個體的抽象,它可對應為乙個抽象體。

2.乙個個體某一方面的抽象,形成乙個抽象面。

乙個個體可能有多個抽象面,抽象體與抽象面是有區別的。

三個面向的區別

物件導向:考慮問題時,以物件為單位,考慮它的屬性及方法。

面向過程:考慮問題時,以乙個具體的流程(事務過程)為單位,考慮它的實現。

利用註解開發

查詢@select

//

查詢全部使用者

@select("select id,name,pwd password from user")

public listgetalluser();

這裡需要注意,因為沒有了xml檔案,所以繫結改為繫結介面

@test

public

void

testgetalluser()

session.close();

}

修改@update

//

修改乙個使用者

@update("update user set name=#,pwd=# where id = #")

int updateuser(user user);

@test

public

void

testupdateuser()

刪除@delete

//

根據id刪除用

@delete("delete from user where id = #")

int deleteuser(@param("id")int id);

@test

public

void

testdeleteuser()

新增@insert

//

新增乙個使用者

@insert("insert into user (id,name,pwd) values (#,#,#)")

int adduser(user user);

@test

public

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 快取

快取 什麼是快取 存在記憶體中的資料。將使用者經常查詢的資料放在快取 記憶體 中,使用者去查詢資料就不用每次都從磁碟上查詢,可一衝快取中查詢,從而提高查詢的效率,解決了高併發系統的效能問題。為什麼要使用快取 減少和資料庫的互動次數,較少系統開銷,提高系統效率。哪些資料可一使用快取 經常查詢並且不經常...