Mybatis使用總結(jié)
2023-04-12
1. Mapped Statements collection does not contain value for *.executeSql
原因:xxMapper.xml配置文件和java接口,方法名不匹配。
2. 動態(tài)傳入純sql執(zhí)行:
配置:
注意:默認的編譯方式改了(預(yù)編譯改為非預(yù)編譯),并且參數(shù)接受使用${XXX}方式。
3. 對與CLOB字段的處理:
configuration.xml中配置:
查詢時:
AND FCONTENT = #{fcontent,jdbcType=CLOB,typeHandler="org.springframework.orm.ibatis.support.ClobStringTypeHandler"}
插入和更新時:使用上述配置
4. 需要在xml文件中使用<號的時候如何處理:
一種方法:在某一個類中定義一個屬性,使其值為'<',然后parameterType指定為這個類,其符號用其代替。比如我有一個Page類,定義一個屬性 startOperator = "<=" 然后調(diào)用:${page.startOperator}
另一種方法:采用轉(zhuǎn)義字符直接替換<號為 < >號為>即可。
注:${name},官方解釋這種方式,Mybatis不會修改或者轉(zhuǎn)義字符串。但是這樣不安全,存在潛在的注入攻擊。因此不應(yīng)該允許用戶直接輸入此類字段,或者通常自行轉(zhuǎn)義并檢查。
本文僅代表作者觀點,版權(quán)歸原創(chuàng)者所有,如需轉(zhuǎn)載請在文中注明來源及作者名字。
免責(zé)聲明:本文系轉(zhuǎn)載編輯文章,僅作分享之用。如分享內(nèi)容、圖片侵犯到您的版權(quán)或非授權(quán)發(fā)布,請及時與我們聯(lián)系進行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com





