Mybatis知識小匯(7) 使用註解開發

2021-10-19 08:14:51 字數 2798 閱讀 2398

面向介面程式設計

1.關於介面的理解。

介面從更深層次的理解,應是定義(規範,約束)與實現(名實分離的原則)的分離。

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

介面應有兩類:第一類是對乙個個體的抽象,它可對應為乙個抽象體(abstract class);

第二類是對乙個個體某一方面的抽象,即形成乙個抽象面(inte***ce);

乙個體有可能有多個抽象面。

抽象體與抽象面是有區別的。

2.設計介面的另乙個不可忽視的因素是介面所處的環境(context,environment),系統論的觀點:環境是系統要素所處的空間與外部影響因素的總和。任何介面都是在一定的環境中產生的。因此環境的定義及環境的變化對介面的影響是不容忽視的,脫離原先的環境,所有的介面將失去原有的意義。

3.按照元件的開發模型(3c),它們三者相輔相成,各司一面,渾然一體,缺一不可。

物件導向是指,我們考慮問題時,以物件為單位,考慮它的屬性及方法

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

使用註解開發

public

inte***ce

mybatis-config.xml

<?xml version="1.0" encoding="utf8" ?>

>

resource

="db.properties"

/>

>

name

="logimpl"

value

="stdout_logging"

/>

settings

>

>

name

="com.wjq.pojo"

/>

typealiases

>

default

="development"

>

"development"

>

type

="jdbc"

/>

type

="pooled"

>

name

="driver"

value

="$"

/>

name

="url"

value

="$"

/>

name

="username"

value

="$"

/>

name

="password"

value

="$"

/>

datasource

>

environment

>

environments

>

>

class

=>

>

>

configuration

>

test

public

class

sqlsession.

close()

;}}

本質:反射機制實現

底層:動態**!

增刪查改

public

inte***ce")

user getuserbyid

(int id)

;@insert

("insert into user values(#, #, #)"

)int

adduser

(user user)

;//當有多個引數時,要使用@param,注意sql語句使用的是註解的引數

@delete

("delete from user where id = #"

)int

deleteuserbyid

(@param

("uid"

)int id)

;@update

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

)int

updateuser

(user user)

;}

test

public

class

sqlsession.

close()

;}@test

public

void

getuserbyid()

@test

public

void

adduser()

@test

public

void

deleteuserbyid()

@test

public

void

updateuser()

}

其他檔案修改的地方

mybatisutil

public

static sqlsession getsqlsession()

mybatis-config.xml

>

class

=>

>

>

關於@param()註解

上一節—>分頁

如有不對的地方歡迎指出,共同進步!

Mybatis小知識點

select from user and username like and 2 foreach標籤 select from user and username like and 3 selectkey標籤 select last insert id insert into user usernam...

Mybatis 的使用 7 快取

l mybatis一級快取預設存在的,不需要配置 l 一級快取的生命週期為session的生命週期,如果session關閉,一級快取消失 l 一級快取,儲存的是物件的位址 第一步 在sqlmapconfig.xml中開啟二級快取功能 第二步 在sql對映檔案中使用標籤,指定當前檔案中的sql語句可以...

Gearman 使用小知識

眾所周知,php要實現非同步任務一般都是通過gearmanbeanstalkd等第三方來實現的。目前專案採用的是gearman來實現非同步任務。通俗的來說 gearman是乙個分發任務的程式框架,使用gearman的應用通常有三部分組成 乙個client 乙個worker 乙個 任務伺服器。clie...