MyBatis typeAliases元素標(biāo)簽(含注解方式)及其屬性、設(shè)置方式
typeAliases元素標(biāo)簽及其屬性、設(shè)置
個(gè)人建議還是采用全類名的方式,這樣可以很輕松的看到該類的所有方法等,比較方便直觀;這樣不過也有缺點(diǎn),不利于維護(hù)等。
簡介
typeAliases:別名處理器,可以為java類型(resultType)起別名。類型別名是為 Java 類型設(shè)置一個(gè)短的名字。它只和 XML 配置有關(guān),存在的意義僅在于用來減少類完全限定名的冗余。
注意:在不指定別名情況下,別名默認(rèn)就是類名小寫。某些情況下別名不區(qū)分大小寫。
通過單個(gè)定義別名的方式
語法
<typeAliases>
<!--
alias:定義的別名
type:指定要起別名的類型全類名
默認(rèn)別名就是類名小寫
-->
<typeAlias alias="別名" type="指定要起別名的類型全類名"/>
</typeAliases>
例如
<typeAliases>
<!--
alias:定義的別名
type:指定要起別名的類型全類名
默認(rèn)別名就是類名小寫
-->
<typeAlias alias="Author" type="domain.blog.Author"/>
<typeAlias alias="Blog" type="domain.blog.Blog"/>
<typeAlias alias="Comment" type="domain.blog.Comment"/>
<typeAlias alias="Post" type="domain.blog.Post"/>
<typeAlias alias="Section" type="domain.blog.Section"/>
<typeAlias alias="Tag" type="domain.blog.Tag"/>
</typeAliases>
當(dāng)這樣配置時(shí),Blog可以用在任何使用domain.blog.Blog的地方。
通過包掃描的方式
該方式將掃描該包下的所有類,默認(rèn)為類名的小寫。
注意:若該包下面還用子包,并且子包與該包有相同的類名,則需要為其中一個(gè)類進(jìn)行注解,否則將會報(bào)錯(沖突),因?yàn)閙ybatis不知道是哪個(gè)包,必須明確的指明才可以。
語法
<typeAliases> <package name="包名"/> </typeAliases>
例如
<typeAliases> <package name="domain.blog"/> </typeAliases>
采用注解的方式
每一個(gè)在包 domain.blog 中的 Java Bean,在沒有注解的情況下,會使用 Bean 的首字母小寫的非限定類名來作為它的別名。 比如 domain.blog.Author 的別名為 author;若有注解,則別名為其注解值。
例子:
@Alias("author")
public class Author {
...
}
常見的 Java 類型內(nèi)建的相應(yīng)的類型別名
它們都是大小寫不敏感的,需要注意的是由基本類型名稱重復(fù)導(dǎo)致的特殊處理。
| 別名 | 映射的類型 |
|---|---|
| _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 |
| object | Object |
| map | Map |
| hashmap | HashMap |
| list | List |
| arraylist | ArrayList |
| collection | Collection |
| iterator | Iterator |
typeAliases和package標(biāo)簽的用法
<typeAliases>
<!--用于指定別名-->
<!--<typeAlias type="com.wance.entity.Person" alias="Person"/>-->
<!--用于指定注冊別名的包,當(dāng)指定后,該包下的實(shí)體類都會注冊別名,并且類名就是別名,-->
<!--不再區(qū)分大小寫-->
<package name="com.wance.entity"/>
</typeAliases>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用RocketMQTemplate發(fā)送帶tags的消息
這篇文章主要介紹了使用RocketMQTemplate發(fā)送帶tags的消息,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
詳解Java中的增強(qiáng) for 循環(huán) foreach
foreach 是 Java 中的一種語法糖,幾乎每一種語言都有一些這樣的語法糖來方便程序員進(jìn)行開發(fā),編譯期間以特定的字節(jié)碼或特定的方式來對這些語法進(jìn)行處理。能夠提高性能,并減少代碼出錯的幾率。2017-05-05
Java Synchronized字節(jié)碼層分析體驗(yàn)
這篇文章主要介紹了Java Synchronized字節(jié)碼層分析,synchronized關(guān)鍵字解決了多個(gè)線程之間的資源同步性,synchronized關(guān)鍵字保證了它修飾的方法或者代碼塊任意時(shí)刻只有一個(gè)線程在訪問2023-04-04
Spring?Boot?Nacos?實(shí)現(xiàn)不停服發(fā)布過程詳解
這篇文章主要為大家介紹了Spring?Boot?Nacos實(shí)現(xiàn)不停服發(fā)布過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
SpringBoot項(xiàng)目中如何解決跨域問題的最新方案?
跨域問題是瀏覽器為了保護(hù)用戶的信息安全,實(shí)施了同源策略(Same-Origin Policy),即只允許頁面請求同源(相同協(xié)議、域名和端口)的資源,當(dāng) JavaScript 發(fā)起的請求跨越了同源策略,即請求的目標(biāo)與當(dāng)前頁面的域名、端口、協(xié)議不一致時(shí),瀏覽器會阻止請求的發(fā)送或接收2025-03-03
springSecurity之AuthenticationProvider用法解析
這篇文章主要介紹了springSecurity之AuthenticationProvider用法解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
微服務(wù)架構(gòu)設(shè)計(jì)RocketMQ進(jìn)階事務(wù)消息原理詳解
這篇文章主要介紹了為大家介紹了微服務(wù)架構(gòu)中RocketMQ進(jìn)階層面事務(wù)消息的原理詳解,有需要的朋友可以借鑒參考下希望能夠有所幫助2021-10-10

