MyBatis之SqlMapConfig.xml

MyBatis之SqlMapConfig.xml

1.介紹

  • SqlMapConfig.xml是mybatis的全局配置文件,mybatis通過它創建SqlSessionFactory

  • 配置內容:

    properties(屬性)
    settings(全局配置參數)
    typeAliases(類型別名)
    typeHandlers(類型處理器)
    plugins(插件)
    environments(環境集合屬性對象)
        environment(環境子屬性對象)
            transactionManager(事務管理)
            dataSource(數據源)
    mappers(映射器)
    

2.properties(屬性)

SqlMapConfig.xml可以引用java屬性文件中的配置信息如下:
在classpath下定義db.properties文件,

這裏寫圖片描述
SqlMapConfig.xml引用如下:
這裏寫圖片描述

注意: MyBatis 將按照下面的順序來加載屬性:

  • 在 properties 元素體內定義的屬性首先被讀取。
  • 然後會讀取properties 元素中resource或 url 加載的屬性,它會覆
    蓋已讀取的同名屬性。
  • 最後讀取parameterType傳遞的屬性,它會覆蓋已讀取的同名屬性。
    因此,通過parameterType傳遞的屬性具有最高優先級,resource或 url 加載的屬性次之,最低優先級的是 properties 元素體內定義的屬性。

3.settings(配置)

mybatis全局配置參數,全局參數將會影響mybatis的運行行爲
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

4.typeAliases(類型別名)

4.1mybatis支持別名:

別名 映射的類型
_byte byte
_long long
_short short
_int int
_integer int
_double double
_float float
_boolean boolean
string String
byte Byte
long Long
short Short
int Integer
integer Integer
double Double
float Float
boolean Boolean
date Date
decimal BigDecimal
bigdecimal BigDecimal

4.2.自定義別名
在SqlMapConfig.xml中配置:
這裏寫圖片描述
使用別名
這裏寫圖片描述

5.typeHandlers(類處理器)

類型處理器用於java類型和jdbc類型映射,如下:

<select id="findUserById" parameterType="int" resultType="user">
        select * from user where id = #{id}
</select>

mybatis自帶的類型處理器基本上滿足日常需求,不需要單獨定義。
mybatis支持類型處理器:

類型處理器 Java類型 JDBC類型
BooleanTypeHandler Boolean,boolean 任何兼容的布爾值
ByteTypeHandler Byte,byte 任何兼容的數字或字節類型
ShortTypeHandler Short,short 任何兼容的數字或短整型
IntegerTypeHandler Integer,int 任何兼容的數字和整型
LongTypeHandler Long,long 任何兼容的數字或長整型
FloatTypeHandler Float,float 任何兼容的數字或單精度浮點型
DoubleTypeHandler Double,double 任何兼容的數字或雙精度浮點型
BigDecimalTypeHandler BigDecimal 任何兼容的數字或十進制小數類型
StringTypeHandler String CHAR和VARCHAR類型
ClobTypeHandler String CLOB和LONGVARCHAR類型
NStringTypeHandler String NVARCHAR和NCHAR類型
NClobTypeHandler String NCLOB類型
ByteArrayTypeHandler byte[] 任何兼容的字節流類型
BlobTypeHandler byte[] BLOB和LONGVARBINARY類型
DateTypeHandler Date(java.util) TIMESTAMP類型
DateOnlyTypeHandler Date(java.util) DATE類型
TimeOnlyTypeHandler Date(java.util) TIME類型
SqlTimestampTypeHandler Timestamp(java.sql) TIMESTAMP類型
SqlDateTypeHandler Date(java.sql) DATE類型
SqlTimeTypeHandler Time(java.sql) TIME類型
ObjectTypeHandler 任意 其他或未指定類型
EnumTypeHandler Enumeration類型 VARCHAR-任何兼容的字符串類型,作爲代碼存儲(而不是索引)。

6.mappers(映射器)

Mapper配置的幾種方法:

這裏寫圖片描述

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