W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
MyBatis 從 3.2 版本開(kāi)始支持插入腳本語(yǔ)言,這允許你插入一種語(yǔ)言驅(qū)動(dòng),并基于這種語(yǔ)言來(lái)編寫(xiě)動(dòng)態(tài) SQL 查詢語(yǔ)句。
可以通過(guò)實(shí)現(xiàn)以下接口來(lái)插入一種語(yǔ)言:
public interface LanguageDriver {
ParameterHandler createParameterHandler(MappedStatement mappedStatement, Object parameterObject, BoundSql boundSql);
SqlSource createSqlSource(Configuration configuration, XNode script, Class<?> parameterType);
SqlSource createSqlSource(Configuration configuration, String script, Class<?> parameterType);
}
實(shí)現(xiàn)自定義語(yǔ)言驅(qū)動(dòng)后,你就可以在 ?mybatis-config.xml
? 文件中將它設(shè)置為默認(rèn)語(yǔ)言:
<typeAliases>
<typeAlias type="org.sample.MyLanguageDriver" alias="myLanguage"/>
</typeAliases>
<settings>
<setting name="defaultScriptingLanguage" value="myLanguage"/>
</settings>
或者,你也可以使用 ?lang
?屬性為特定的語(yǔ)句指定語(yǔ)言:
<select id="selectBlog" lang="myLanguage">
SELECT * FROM BLOG
</select>
或者,在你的 ?mapper
?接口上添加 ?@Lang
? 注解:
public interface Mapper {
@Lang(MyLanguageDriver.class)
@Select("SELECT * FROM BLOG")
List<Blog> selectBlog();
}
可以使用 ?Apache Velocity
? 作為動(dòng)態(tài)語(yǔ)言,更多細(xì)節(jié)請(qǐng)參考 ?MyBatis-Velocity
? 項(xiàng)目。
你前面看到的所有 xml 標(biāo)簽都由默認(rèn) MyBatis 語(yǔ)言提供,而它由語(yǔ)言驅(qū)動(dòng) ?org.apache.ibatis.scripting.xmltags.XmlLanguageDriver
?(別名為 xml)所提供。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: