MyBaties学习记录
typeAliases詳解:
類(lèi)型別名是為 Java 類(lèi)型設(shè)置一個(gè)短的名字。它只和 XML 配置有關(guān),存在的意義僅在于用來(lái)減少類(lèi)完全限定名的冗余;(也就是為類(lèi)型設(shè)置簡(jiǎn)稱(chēng))
實(shí)例:
?
通過(guò)包名稱(chēng)加上簡(jiǎn)稱(chēng)調(diào)用代替;
注解表示:
// 為類(lèi)型注解簡(jiǎn)稱(chēng) @Alias("author") public class Author { ... }
Mybatis 也為常見(jiàn)的Java類(lèi)型內(nèi)建了類(lèi)型別名:
TypeHandlers:
無(wú)論是 MyBatis 在預(yù)處理語(yǔ)句(PreparedStatement)中設(shè)置一個(gè)參數(shù)時(shí),還是從結(jié)果集中取出一個(gè)值時(shí), 都會(huì)用類(lèi)型處理器將獲
取的值以合適的方式轉(zhuǎn)換成 Java 類(lèi)型。
你也可以重寫(xiě)類(lèi)型處理器或者編輯自己需要的類(lèi)型處理器:
具體做法為:實(shí)現(xiàn)
org.apache.ibatis.type.TypeHandler 接口, 或繼承一個(gè)很便利的類(lèi) org.apache.ibatis.type.BaseTypeHandler , 然后可以選擇性
地將它映射到一個(gè) JDBC 類(lèi)型。
?
通過(guò)類(lèi)型處理器的泛型,MyBatis 可以得知該類(lèi)型處理器處理的 Java 類(lèi)型,不過(guò)這種行為可以通過(guò)兩種方法改變:
在類(lèi)型處理器的配置元素(typeHandler element)上增加一個(gè) javaType 屬性(比如: javaType="String" );
在類(lèi)型處理器的類(lèi)上(TypeHandler class)增加一個(gè) @MappedTypes 注解來(lái)指定與其關(guān)聯(lián)的 Java 類(lèi)型列表。 如果在
javaType 屬性中也同時(shí)指定,則注解方式將被忽略。
可以通過(guò)兩種方式來(lái)指定被關(guān)聯(lián)的 JDBC 類(lèi)型:
在類(lèi)型處理器的配置元素上增加一個(gè) javaType 屬性(比如: javaType="VARCHAR" );
在類(lèi)型處理器的類(lèi)上(TypeHandler class)增加一個(gè) @MappedJdbcTypes 注解來(lái)指定與其關(guān)聯(lián)的 JDBC 類(lèi)型列表。 如果在
javaType 屬性中也同時(shí)指定,則注解方式將被忽略。
?
轉(zhuǎn)載于:https://www.cnblogs.com/TakeaHeader/p/5428334.html
總結(jié)
以上是生活随笔為你收集整理的MyBaties学习记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 吸氧多少钱啊?
- 下一篇: iOS开发——手势识别器(用手势实现图片