MyBatis使用細節

2021-08-25 11:08:44 字數 1074 閱讀 2099

1. 錯誤:with a primitive return type (int).

原因:返回值型別為int,但是查詢出來的結果有空值(null),無法轉換成基本型別。包括char,long,short都有可能。

select

case

when (select provinceid from kdmc_t_province where name =#)is null

then 0

else (select provinceid from kdmc_t_province where name =#)

end;

2. resulttype和resultmap區別

查詢出來的結果集只有一行且一列,可以使用簡單型別進行輸出對映。通過resulttype對映。

如果查詢結果複雜,需要封裝成bean,則適合使用resultmap,定義對映規則。

3. 動態傳入表名,例如資料記錄日表

先區分#{}和${}的卻別,簡略來講${}單純填充字段,不做預編譯;#{}有預編譯過程,可以防止sql注入。(#{} 是編譯好sql語句再取值,${} 這是取值以後再去編譯sql語句)

那麼,動態傳入表名則需要使用${}方式,例如select * from $act_hi_procinst where proc_inst_id_ = #,另外sql語句配置為statementtype="statement",即不進行預編譯。

4. 多引數傳遞

單個引數配置檔案對映時能自動識別,多引數則需要指定引數,一是通過map傳遞,二是封裝成bean,三是在介面通過註解標明。例如:

integer getaccountpermissionvalue(@param("publicid") long publicid,

@param("prvcode") string prvcode) throws exception;

4. 隨機數生成

private string getfixlenthstring(int strlength) , #,

#,#,

#, #

)8. 檔案操作 fileutils(org.apache.commons.io)

VertexHelper使用細節

使用vertexhelper建立出來的資料 int num 8 b2vec2 verts 8 verts 0 set 1.2f ptm ratio,159.5f ptm ratio verts 1 set 240.7f ptm ratio,78.4f ptm ratio verts 2 set 56...

pascal使用細節

1 變數不區分大小寫。2 子界型別定義方法 type month 1.12 letter a h days monday.friday 3 字串變數必須用一對單引號括起來,如果字串本身就有單引號,這個單引號要用兩個連續的單引號表示,如 his name is jim 4 短字串的索引是從0開始的,但...

SourceTree使用細節

1.提交部分 改動10個檔案,但這次只想提交其中5個檔案,怎麼辦?stash貯藏,等提交完之後再把貯藏弄回來。如果不貯藏,無法rebase note 貯藏之前,先得add。寫完commit 資訊之後,在貯藏其他的 2.建立遠端分支 本地分支push到遠端 如果想把本地的某個分支test提交到遠端倉庫...