Mybatis中重要註解說明
<!--注意:xml中的標籤是有先後順序的,將滑鼠放在configuration標籤上,彈出框的末尾可以檢視先後順序-->
1、<properties>
mybatis可以使用properties來引入外部properties配置檔案的內容;
resource:引入類路徑下的資源
url:引入網路路徑或者磁碟路徑下的資源
<properties resource="dbconfig.properties"></properties>
2、<settings>
settings包含很多重要的設定項
setting:用來設定每一個設定項
name:設定項名
value:設定項取值
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
3、<typeAliases>
typeAliases:別名處理器:可以為我們的java型別起別名 ,別名不區分大小寫
其中包含三種寫法,具體參照註釋說明
<typeAliases> <!-- 1、typeAlias:為某個java型別起別名 type:指定要起別名的型別全類名;預設別名就是類名小寫;employee alias:指定新的別名 --> <!-- <typeAlias type="com.atguigu.mybatis.bean.Employee" alias="emp"/> --> <!-- 2、package:為某個包下的所有類批量起別名 name:指定包名(為當前包以及下面所有的後代包的每一個類都起一個預設別名(類名小寫),) --> <package name="com.atguigu.mybatis.bean"/> <!-- 3、批量起別名的情況下,使用@Alias註解為某個型別指定新的別名 --> </typeAliases>
4、 <environments>
environments:環境們,mybatis可以配置多種環境 ,default指定使用某種環境。可以達到快速切換環境。
environment:配置一個具體的環境資訊;必須有兩個標籤;id代表當前環境的唯一標識
transactionManager:事務管理器;
type:事務管理器的型別;JDBC(JdbcTransactionFactory)|MANAGED(ManagedTransactionFactory)
自定義事務管理器:實現TransactionFactory介面.type指定為全類名
dataSource:資料來源;
type:資料來源型別;UNPOOLED(UnpooledDataSourceFactory)
|POOLED(PooledDataSourceFactory)
|JNDI(JndiDataSourceFactory)
自定義資料來源:實現DataSourceFactory介面,type是全類名
<environments default="dev_mysql">
<environment id="dev_mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
<environment id="dev_oracle">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${orcl.driver}" />
<property name="url" value="${orcl.url}" />
<property name="username" value="${orcl.username}" />
<property name="password" value="${orcl.password}" />
</dataSource>
</environment>
</environments>
5、<databaseIdProvider>
databaseIdProvider:支援多資料庫廠商的;
type="DB_VENDOR":VendorDatabaseIdProvider
作用就是得到資料庫廠商的標識(驅動getDatabaseProductName()),mybatis就能根據資料庫廠商標識來執行不同的sql;
MySQL,Oracle,SQL Server,xxxx
<databaseIdProvider type="DB_VENDOR">
<!-- 為不同的資料庫廠商起別名 -->
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="oracle"/>
<property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>
6、<mappers>
<!-- 將我們寫好的sql對映檔案(EmployeeMapper.xml)一定要註冊到全域性配置檔案(mybatis-config.xml)中 -->
將sql對映註冊到全域性配置中
<mappers>
<!--
mapper:註冊一個sql對映
註冊配置檔案
resource:引用類路徑下的sql對映檔案
mybatis/mapper/EmployeeMapper.xml
url:引用網路路徑或者磁碟路徑下的sql對映檔案
file:///var/mappers/AuthorMapper.xml
註冊介面
class:引用(註冊)介面,
1、有sql對映檔案,對映檔名必須和介面同名,並且放在與介面同一目錄下;
2、沒有sql對映檔案,所有的sql都是利用註解寫在介面方法上;
推薦:
比較重要的,複雜的Dao介面我們來寫sql對映檔案
不重要,簡單的Dao介面為了開發快速可以使用註解;
-->
<!-- <mapper resource="mybatis/mapper/EmployeeMapper.xml"/> -->
<!-- <mapper class="com.atguigu.mybatis.dao.EmployeeMapperAnnotation"/> -->
<!-- 批量註冊:注意:mapper介面檔案和mapper.xml檔案需要在同一目錄下 ,不過在idea中,
配置檔案下新建一個包路徑和mapper介面一樣的路徑來儲存mapper.xml檔案,這樣方便檢視,但編譯時,其實都放在了一個路徑下-->
<package name="com.atguigu.mybatis.dao"/>
</mappers>
</configuration>