MyBatisの別名typeAliasesによる設定


MyBatis別名type Aliasesの設定
第一種類:設定ファイルでtypeAliasノードに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>
    <!--      -->
    <typeAliases>
        <!-- type   javabean         alias      -->
        <typeAlias alias="student" type="cn.entity.Student" />
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <!--   jdbc    -->
            <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>
このようにエイリアスを設定して以降の操作は、あるjavabeanの完全な限定名を使用した場合、私たちはalias設定の値を使って代替でき、プログラミングを簡単にしました。
第二の方式:設定ファイルでtype Aliasesノードに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>
    <!--      -->
    <typeAliases>
        <!--   package,       package   , mybatis            javabean,           ,      : 
            javabean                     -->
        <package name="cn.entity" />
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <!--   jdbc    -->
            <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>
このような方法によってプログラミングがより簡単になりました。実際の開発には多くのjavabeanがあります。ここではこれらのjavabeanのカバンを指定するだけでいいです。それでは彼の別名はjavabeanのイニシャル小文字の非限定類名です。
第三種類:注解による方法@Alias

/**
 *      
 * @author hyj
 *
 */
@Alias(value="student")
public class Student {
     private Integer id;//  
     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のtype Aliasesの別名と注釈は理解します。
一、別名(mapperから種類を探してmybatis-configに変えました)
1.beammapper.xmlを修正する

2.グローバル配置を修正するmybatis-config.xml(別名を追加しました)

3.カバンの別名

このカバンの小文字の先頭のクラスは自動的に認識されます。
二、別名の好と悪
利点は、簡単に最初のクラス名を小文字で書くことができます。より簡潔です。
デメリットはプロジェクトが多いと、種類が多くなると、ベストマッチがctrlに来て対応するクラスを探すことができません。
ここの一つの解決方法は別名の時にカバンの別名に変えますが、相変わらず治癒しません。
この時は注を使うことをおすすめします。
三、注釈の使用
各beamパッケージの下に注釈を使ってこのクラスを識別します。
例えば:

ここで取った別名は上の配置と違って、categoryという種類が見当たりません。

なぜならば、クラスを別名にして、
この時は正しいものに戻して正常に運行します。

四、いくつかの知識点
mybatis-config.xmlproperties:属性セット(外部リソースの導入)resource:クラスパス下のリソースをロードするurl:ネットワークパスまたはディスクパスのリソースを参照するmappers:既に作成されたsqlマッピングプロファイルを読み込み、グローバルプロファイルに登録する
settings設定(グローバル特性に基づく)
typealiasの別名
以上は個人の経験ですので、参考にしていただければと思います。