語句類型 & 根據數據庫加載語句
對於select,update,insert,delete
四種語句元素(標籤),關於基本用法,已經瞭解了,現在來了解一下它們共有的兩個屬性:statementType
和databaseId
statementType
引用官方文檔
可選 STATEMENT,PREPARED 或 CALLABLE。這會讓 MyBatis 分別使用 Statement,PreparedStatement 或 CallableStatement,默認值:PREPARED。
databaseId
引用官方文檔
如果配置了數據庫廠商標識(databaseIdProvider),MyBatis 會加載所有不帶 databaseId 或匹配當前 databaseId 的語句;如果帶和不帶的語句都有,則不帶的會被忽略。
官方文檔的表述也很容易理解,現在不明白的就是配置數據庫廠商標識。
在全局配置中配置數據庫廠商標識
<databaseIdProvider type="DB_VENDOR">
<property name="SQL Server" value="sqlserver"/>
<property name="DB2" value="db2"/>
<property name="Oracle" value="oracle" />
</databaseIdProvider>
在mapper文件中,就可以這樣使用:
<insert id="XXX" databaseId="sqlserver">
sqlserver
在全局配置中對應SQL Server
,所以,僅在使用SQL Server
的數據庫時,這條語句纔會被加載。