MyBatis自定義typeHanler的使用

2021-10-23 21:49:14 字數 2000 閱讀 9772

乙個商戶,在登記的時候需要註冊它的經營範圍。比如1手機,2電腦,3相機,4平板,在介面上是乙個核取方塊(checkbox)。

在資料庫儲存的是用逗號分隔的字串,例如「1,3,4」,而返回給程式的時候是整形陣列list 。

實現乙個typehandler,可以把list轉換成資料庫的varchar。把資料庫的vachar轉換成list。

public

class

testtypehandler

extends

basetypehandler

>

ps.setstring

(i,str.

tostring()

.substring(0

,str.

tostring()

.length()

-1))

;}@override

public list getnullableresult

(resultset rs, string columnname)

throws sqlexception

@override

public list getnullableresult

(resultset rs,

int columnindex)

throws sqlexception

@override

public list getnullableresult

(callablestatement cs,

int columnindex)

throws sqlexception

}

bean
@data

public

class

testbean

public

inte***ce

xml對映器
"testmap"

type

="com.graduate.platform.researchworkers.entity.testbean"

>

property

="id"

column

="id"

/>

property

="name"

column

="name"

/>

property

="number"

column

="number"

typehandler

="com.graduate.platform.researchworkers.util.testtypehandler"

/>

resultmap

>

"select"

resultmap

="testmap"

>

select * from test where id=#

select

>

"insert"

>

insert into test (name,number) values(#,#)

insert

>

插入測試
@test

public

void

inserttest()

結果

查詢測試

@test

public

void

selecttest()

結果

mybatis 自定義TypeHandler 的坑

1 場景 2 坑 自定義之後也無效的問題 3 講解 basetypehandler implements typehandler 通過getresult方法呼叫實際介面,模板模式 4 typehandler的型別,處理什麼型別的資料 public class emptystringifnull ex...

Mybatis自定義外掛程式

mybatis 在構建executor的時候進行注入所有外掛程式 這個註解只有乙個屬性 value陣列 型別為 signature,註解 signature包含屬性 interceptor com.lemonfish.read.myplugin plugin plugins import org.a...

Mybatis基礎自定義補全

public class self defindedtest session.close is.close inputstream is resources.getresourceasstream sqlmapconfig.xml public class resources 此處省略xmlconf...