MyBatisプロファイルの構成を最適化する


本論文では主にMyBatisプロファイルの構成を最適化するための関連内容を紹介します。
一、データベースを接続する構成は単独で一つのpropertiesファイルに置く。
以前、私達は直接データベースの接続構成情報をMyBatisのconf.xmlファイルに書いていました。

<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!--           -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="XDP" />
</dataSource>
</environment>
</environments>

</configuration>
実は私達はデータベースの接続構成情報を一つのpropertiesファイルに書いて、それからconf.xmlファイルの中でpropertiesファイルを引用します。具体的なやり方は以下の通りです。
1、srcディレクトリの下にdb.propertiesファイルを新規作成します。下図のように:

db.propertiesファイルで接続データベースを作成するには、使用するデータベースドライバ、接続URLアドレス、ユーザ名、パスワードが必要です。
1 driver=comp.mysql.jdbc.Driver
2 url=jdbc:mysql://localhost:3306/mybatis
3 name=root
4 password=XDP
2、MyBatisのconf.xmlファイルからdb.propertiesファイルを参照すると、次のようになります。

<?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>

<!--   db.properties     -->
<properties resource="db.properties"/>
<!--
development :     
work :     
-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!--           -->
<dataSource type="POOLED">
<!-- value     db.properties          -->
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${name}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>

</configuration>
二、実体類のための別名を定義し、sqlマッピングxmlファイルの参照を簡略化する。
以前、sqlでxmlファイルの参照エンティティ類をマッピングする時、実体類の全類名(パッケージ名+クラス名)を記入したいです。

<!--     (Create) -->
<insert id="addUser" parameterType="me.gacl.domain.User">
  insert into users(name,age) values(#{name},#{age})
</insert>
parameterType=「me.gacl.domann.User」ここに書いてある実体類Userの全類名me.gacl.domann.Userは、毎回このような長い一連の内容を書くのが面倒くさいです。私達は簡単に次のような形に書きたいです。

<insert id="addUser2" parameterType="_User">
  insert into users(name,age) values(#{name},#{age})
</insert>
parameterType="u"User「このように書くと簡単になります。この効果を達成するためには、conf.xmlファイルに実体類が必要です。」User「具体的なやり方は以下の通りです。
conf.xmlファイルにタブに以下の構成を追加します。

<typeAliases>
  <typeAlias type="me.gacl.domain.User" alias="_User"/>
</typeAliases>
このようにしてME.gacl.domann.User類に別名を_と定義することができます。User,以后_UserはME.gacl.domann.User類を代表しています。このようにsqlマッピングxmlファイルの中のすべての引用ME.gacl.domann.User類のところで使用できます。Userは代替として、エンティティ類の引用を簡略化する目的を達成した。
「type Alias type=」「m.gacl.domail.User」alias=「u」を使うことができます。User「/」という方式は単独であるエンティティ類に別名を設定する以外に、次のような方法で一括してパッケージ下のすべてのエンティティ類に別名を設定することもできます。

<!--         ,                                    ,        -->
  <typeAliases>
    <!--     me.gacl.domain.User      _User -->
    <!-- <typeAlias type="me.gacl.domain.User" alias="_User"/> -->
    <!--  me.gacl.domain            ,MyBatis                          
      me.gacl.domain.User              User
     -->
    <package name="me.gacl.domain"/>
  </typeAliases>
<package name="me.gacl.domain"/"は、このパッケージの下にあるすべてのエンティティ類に別名を設定することを表します。MyBatisデフォルトの設定別名は、クラスのあるパッケージを削除した後の簡単な類名です。例えば、ME.gacl.domann.Userというエンティティ類の別名はUserに設定されます。
締め括りをつける
以上がMyBatisプロファイルの最適化に関する詳細な構成内容のすべてです。興味のある方は引き続き当駅の他のテーマを参照してください。友達のサポートに感謝します。