溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MyBatis中基于別名typeAliases的設(shè)置方法

發(fā)布時(shí)間:2021-07-13 14:54:39 來(lái)源:億速云 閱讀:172 作者:chen 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容介紹了“MyBatis中基于別名typeAliases的設(shè)置方法”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

MyBatis 別名typeAliases的設(shè)置

第一種:通過(guò)在配置文件中typeAlias節(jié)點(diǎn)設(shè)置type的方式

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 設(shè)置別名 -->
    <typeAliases>
        <!-- type指的是javabean的完全限定名   alias就是指代別名-->
        <typeAlias alias="student" type="cn.entity.Student" />
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <!-- 使用jdbc的事務(wù) -->
            <transactionManager type="JDBC" />
            <!-- 使用自帶的連接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="oracle.jdbc.driver.OracleDriver" />
                <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
                <property name="username" value="test" />
                <property name="password" value="test" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="cn/dao/StudentDAO.xml" />
    </mappers>
</configuration>

通過(guò)這種方式設(shè)置別名在以后的操作是如果用到了某個(gè)javabean的完全限定名的時(shí)候我們就可以使用alias設(shè)置的值來(lái)代替,從而簡(jiǎn)化了編程。

第二種方式:通過(guò)在配置文件中typeAliases節(jié)點(diǎn)中設(shè)置package 的方式

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 設(shè)置別名 -->
    <typeAliases>
        <!-- 通過(guò)package, 可以直接指定package的名字, mybatis會(huì)自動(dòng)掃描你指定包下面的javabean, 并且默認(rèn)設(shè)置一個(gè)別名,默認(rèn)的名字為: 
            javabean 的首字母小寫(xiě)的非限定類名來(lái)作為它的別名 -->
        <package name="cn.entity" />
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <!-- 使用jdbc的事務(wù) -->
            <transactionManager type="JDBC" />
            <!-- 使用自帶的連接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="oracle.jdbc.driver.OracleDriver" />
                <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
                <property name="username" value="test" />
                <property name="password" value="test" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="cn/dao/StudentDAO.xml" />
    </mappers>
</configuration>

通過(guò)這種方式更加簡(jiǎn)化了編程,因?yàn)樵趯?shí)際開(kāi)發(fā)中會(huì)有很多的javabean,這里只需要指定這些javabean所在的包就行了,那么默認(rèn)他的別名是javabean 的首字母小寫(xiě)的非限定類名來(lái)作為它的別名。

第三種:通過(guò)注解的方式@Alias

/**
 * 學(xué)生實(shí)體類
 * @author hyj
 *
 */
@Alias(value="student")
public class Student {
     private Integer id;//編號(hào)
     private Integer age;//年齡
     private String name;//姓名
    public Student() {
    }
    public Student(Integer id, Integer age, String name) {
        super();
        this.id = id;
        this.age = age;
        this.name = name;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "Student [id=" + id + ", age=" + age + ", name=" + name + "]";
    }
    
}

mybatis的typeAliases別名和注解理解

一、別名(從mapper那里尋找類換到了從mybatis-config那里找)

1.修改beammapper.xml

MyBatis中基于別名typeAliases的設(shè)置方法

2.修改全局配置mybatis-config.xml (新增了別名)

MyBatis中基于別名typeAliases的設(shè)置方法

3.包的別名

MyBatis中基于別名typeAliases的設(shè)置方法

會(huì)自動(dòng)識(shí)別這個(gè)包下小寫(xiě)開(kāi)頭的類.

二、別名的好與壞

好處是可以簡(jiǎn)略地直接用小寫(xiě)開(kāi)頭的類名來(lái)用,更簡(jiǎn)潔

壞處是如果項(xiàng)目一多,類一多起來(lái),就不好在beanmapper來(lái)ctrl來(lái)查找到對(duì)應(yīng)的類

這里一個(gè)解決方法是別名的時(shí)候換成包的別名,但是依舊治標(biāo)不治本.

所以這時(shí)候推薦使用注解

三、注解的使用

在每個(gè)beam包下使用注解來(lái)識(shí)別這個(gè)類

如:

MyBatis中基于別名typeAliases的設(shè)置方法

這里取的別名跟上面的配置的不一樣,會(huì)報(bào)錯(cuò)找不到category這個(gè)類

MyBatis中基于別名typeAliases的設(shè)置方法

因?yàn)榈陌杨惾×藗€(gè)不一樣的別名,

這時(shí)候改回正確的就可以正常運(yùn)行了

MyBatis中基于別名typeAliases的設(shè)置方法

四、一些知識(shí)點(diǎn)

mybatis-config.xml

properties:屬性集(引入外部資源)

resource:加載類路徑下的資源

url:引用網(wǎng)絡(luò)路徑或磁盤(pán)路徑下的資源

mappers:加載已經(jīng)寫(xiě)好的sql映射配置文件并注冊(cè)到全局配置文件

“MyBatis中基于別名typeAliases的設(shè)置方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI