mybatis 映射器


1 映射器 Mapper 是由java接口和 XML 文件共同組成。它的作用如下

1)定義參數類型

2)描述緩存

3)描述 SQL 語句

4)定義查詢結果和POJO的映射關系

 

2 SqlSessionFactoryBuilder 主要作用是用來生成 SqlSessionFactory,生成以后就不用了,所以它的生命周期只存在於方法局部。

 

3 SqlSessionFactory 的作用是創建SqlSession,而 SqlSession 就是一個會話,相當於是JDBC的 Connection 對象。每次應用訪問數據庫,就需要通過 SqlSessionFactory 創建SqlSession ,所以 SqlSessionFactory 應該在整個生命周期中。每個數據庫只對應一個 SqlSessionFactory 。

 

4 SqlSession 是一個會話,相當於 JDBC 的 Connection 對象,它的生命周期應該是請求數據庫處理事務的過程中。它是一個線程不安全的對象,當操作數據庫時需要注意其隔離級別、數據庫鎖等高級特性。

此外每次創建都需要及時關閉它。

 

5 Mapper 是一個接口,而沒有任何實現類,它的作用是發送SQL語句,然后返回我們的結果;或者執行SQL語句修改數據庫中數據,因此他應該在一個 SqlSession 事務方法之內,是一個方法級別的東西。

它的最大范圍和 SqlSession 是相同的。

 

6 typeHandler 常用的配置為 java 類型、jdbc類型。typeHandler 的作用就是將參數從 javaType 轉化為 jdbcType,或者從數據庫取出結果把 jdbcType 轉換成 javaType 。

 

7 引入映射器的方法

7.1)使用文件路徑引入映射器,

<mappers>
        <mapper resource=""></mapper>
    </mappers>

7.2)使用包名引入映射器,

<mappers>
        <package name=""/>
    </mappers>

7.3)使用掃描方式引入

<!-- mybatis的Mapper的掃描器 MapperScannerConfigure  會自動掃描
         mapper包下的所有接口自動生成代理對象: 對象名字為Mapper接口類名(首字母小寫)
     -->
    <bean id="mapperScanConfig" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <property name="basePackage" value="com.huitong.dao"/>
    </bean>

 


免責聲明!

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



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