Mybatis配置文件詳解


一、SqlSession的使用范圍說明

 1、SQLSessionFactoryBuilder

  通過SqlSessionFactoryBuilder創建會話工廠SqlSessionFactory,將SqlSessionFactoryBuilder當成一個工具類使用即可,不需要使用單例模式管理,在創建SqlSessionFactory的時候,只需要new一次SqlSessionFactoryBuilder即可。

 2、SqlSessionFactory

  通過SqlSessionFactory創建SqlSession,使用單例模式來管理SqlSessionFactory(工廠一旦創建,只使用一個實例)。

 3、SqlSession

  SqlSession是一個面向用戶(程序員)的接口。
  SqlSession中提供了很多操作數據庫的方法:如selectOne(返回單個對象)、selectList(返回單個或多個對象)。
  SqlSession是線程不安全的,因為在SqlSession中除了有接口中的方法(操作數據庫的方法)之外。還有數據域屬性。
  SqlSession的最佳應用場合是在方法體內,將其定義為局部變量來使用。

二、SqlMapConfig.xml配置文件詳解

 1、Properties屬性

  Properties屬性用來加載屬性配置文件。

 <!--
        加載屬性文件
        resource:屬性文件的相對路徑
        url:屬性文件的絕對路徑
     -->
    <properties resource="config/db.properties">
        <!--
            配置一些屬性
            name:屬性的名稱
            value:屬性的值
        -->
        <!--<property name="" value="" /> -->
    </properties>

  properties特性:
   Mybatis將按照下面的屬性來加載屬性:
   1. 首先會讀取在property標簽中定義的屬性。
   2. 然后會讀取在properties標簽中通過resource或url加載時的屬性,它會覆蓋已讀取得同名屬性。
   3. 最后會讀取sql中parameterType傳遞過來的屬性,它會覆蓋已讀取的同名屬性。

  2、settings全局參數配置

  Mybatis框架在運行時可以調整一些運行參數,比如:開啟二級緩存、開啟延遲加載等。這些參數
要通過settings標簽來配置,全局參數會影響Mybatis的運行行為,配置一定要注意。

 <!--全局參數配置-->
    <settings >
            <!--
                name:屬性名稱
                value:屬性的值
            -->
        <setting name="" value=""/>
    </settings>

  常用的全局配置參數如下:


 3、typeAlia

  在映射文件中的parameterType和resultType屬性中要指定輸入、輸出映射類型,如果類型為PO,要指定PO類的全路徑這樣不是特別方便,可以使用typeAlias定義一些別名,來方便開發。

<!--定義別名-->
    <typeAliases>
        <!--
            type:需要起別名的字符串
            alias:對應的別名
        -->
        <typeAlias type="" alias="" />
        
        <!--
            name:包名,會對包下面的類進行掃描,自動批量設置別名,
                設置的別名為類名,首字母大小寫均可
        -->
        <package name="" />
       
    </typeAliases>

  Mybatis的默認別名

 4、typeHandlers(類型處理器)###

  Mybatis中通過typeHandlers完成jdbc類型和Java類型的裝換。通常情況下,Mybatis提供的類型處理器滿足日常需要,不需要我們再自定義。

<typeHandlers>
        <typeHandler handler="" jdbcType="" javaType="" />
    </typeHandlers>

  Mybatis默認支持的數據類型

5、environments 環境

<!--
        環境配置
        在和Spring整合后改配置將廢除
    -->
    <environments default="development">

        <environment id="development">
            <!--使用JDBC的事務管理,事務管理交給Mybatis-->
            <transactionManager type="JDBC"></transactionManager>
            <!--數據庫連接池,有Mybatis管理-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        </environment>
</environments>

 6、mapper 加載映射文件

  加載映射文件有三種方式
  1、加載單個映射文件

 <!--引入mapper-->
    <mappers>
        <!--rerource:引入映射文件相對於classpath的地址-->
        <mapper resource="config/sqlmap/userMapper.xml" />
    </mappers>

  2、通過Mapper接口加載單個映射文件
  前提條件:
   (1). 使用Mapper代理的方式進行開發。
   (2). Mapper接口文件名要和映射文件名一致
   (3).Mapper接口文件和映射文件在同一個目錄下

   <!--引入mapper-->
    <mappers>
        
        <mapper class="com.jack.po.UserMapper" />
    </mappers>

  3、批量記載映射文件
  前提條件:
   (1). 使用Mapper代理的方式進行開發。
   (2). Mapper接口文件名要和映射文件名一致
   (3).Mapper接口文件和映射文件在同一個目錄下

  <!--引入mapper-->
    <mappers>
        <!--name:mapper接口文件所在的包路徑-->
      <package name="" />
    </mappers>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM