语句类型 & 根据数据库加载语句

语句类型 & 根据数据库加载语句

对于select,update,insert,delete四种语句元素(标签),关于基本用法,已经了解了,现在来了解一下它们共有的两个属性:statementTypedatabaseId

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的数据库时,这条语句才会被加载。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章