Mybatis(1)——配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

<!-- 一、mybatis可使用properties來引入外部properties配置文件的內容; resource:引入類路徑下的資源 url:引入網絡路徑或者磁盤路徑下的資源 --> <properties resource="dbconfig.properties"></properties> <!-- 二、settings包含不少重要的設置項 setting:用來設置每個設置項 name:設置項名 value:設置項取值 --> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> //這裏的意思是打開自動的下劃線命名到駝峯命名的映射 </settings> <!-- 三、typeAliases:別名處理器:能夠爲咱們的java類型起別名 別名不區分大小寫 --> <typeAliases> <!-- 一、typeAlias:爲某個java類型起別名 type:指定要起別名的類型全類名;默認別名就是類名小寫;employee alias:指定新的別名
別名實際上會帶來一些麻煩,不推薦使用別名
-->
<typeAlias type="com.atguigu.mybatis.bean.Employee" alias="emp"/> <!-- 二、package:爲某個包下的全部類批量起別名 name:指定包名(爲當前包以及下面全部的後代包的每個類都起一個默認別名(類名小寫),) --> <package name="com.atguigu.mybatis.bean"/> <!-- 三、批量起別名的狀況下,使用@Alias註解爲某個類型指定新的別名 --> </typeAliases> <!--
就是說經過指定default值的不一樣。能夠切換運行環境(使用不一樣的數據源) 四、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"> //這這裏有兩個環境能夠選擇,我使用的是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>

 

<!-- 五、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>
以後在mapper文件中的sql語句就能夠指定是針對於那一個數據庫廠商而寫的了(使用databaseId指定)。對於同一個方法能夠寫針對於不一樣數據庫廠商的多個實現
<select id="person.zview.select" resultType="entity.stu" databaseId="mysql">
select * from emp where id = #{id}
</select<!-- 將咱們寫好的sql映射文件(EmployeeMapper.xml)必定要註冊到全局配置文件(mybatis-config.xml)中 -->
    <!-- 六、mappers:將sql映射註冊到全局配置中 -->
    <mappers>
        <!-- mapper:註冊一個sql映射 註冊配置文件 resource:引用類路徑下的sql映射文件 mybatis/mapper/EmployeeMapper.xml url:引用網路路徑或者磁盤路徑下的sql映射文件 file:///var/mappers/AuthorMapper.xml 註冊接口 class:引用(註冊)接口, 一、有sql映射文件,映射文件名必須和接口同名,而且放在與接口同一目錄下; 二、沒有sql映射文件,全部的sql都是利用註解寫在接口上; 推薦: 比較重要的,複雜的Dao接口咱們來寫sql映射文件 不重要,簡單的Dao接口爲了開發快速可使用註解; -->
        <mapper resource="mybatis/mapper/EmployeeMapper.xml"/>
         <mapper class="com.atguigu.mybatis.dao.EmployeeMapperAnnotation"/>
<!-- 批量註冊: --> 就是將這個包下面的全部的mapper都給註冊了,可是須要注意,若是有接口的話,須要
映射文件名必須和接口同名,而且放在與接口同一目錄下
 <package name="com.atguigu.mybatis.dao"/> </mappers>

註解的使用例子java

public interface Demo02 {

    @Select("select * from emp where name = #{id}")
    public stu SelectByName(String name);
}
<mappers>    <mapper resource="mapper01.xml"/>    <mapper resource="mapperinterface.xml"/>    <mapper class="Mapperinterface.Demo02"></mapper></mappers>
相關文章
相關標籤/搜索