2009-07-21 22 views
0

私はibator eclipseプラグイン1.2.1を使用しています。私のRDBMSはMySQL 5.1です。ibatis ibator Javaコード生成の問題

 <?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE ibatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Apache iBATIS Ibator Configuration 1.0//EN" "http://ibatis.apache.org/dtd/ibator-config_1_0.dtd" > 
<ibatorConfiguration> 
    <classPathEntry location="/mysql-connector-java-5.1.7-bin.jar"/> 
    <ibatorContext defaultModelType="flat" id="context1" targetRuntime="Ibatis2Java5"> 
    <jdbcConnection connectionURL="jdbc:mysql://localhost:3306/database" driverClass="com.mysql.jdbc.Driver" password="pass" userId="root"/> 
    <javaModelGenerator targetPackage="com.xxx.core.domain" targetProject="Myproject"> 
     <property name="enableSubPackages" value="true"/> 
     <property name="trimStrings" value="true"/> 
    </javaModelGenerator> 
    <sqlMapGenerator targetPackage="com.xxx.core.dao.ibatis.maps" targetProject="Myproject"> 
     <property name="enableSubPackages" value="true"/> 
    </sqlMapGenerator> 
    <daoGenerator targetPackage="com.xxx.core.dao" targetProject="Myproject" type="SPRING"> 
     <property name="enableSubPackages" value="true"/> 
     <property name="methodNameCalculator" value="extended"/> 
    </daoGenerator> 
    <table tableName="account" domainObjectName="Account"/> 
    <table tableName="personel" domainObjectName="Personel"/> 
    </ibatorContext> 
</ibatorConfiguration> 

すべての生成されたコードはcom.xxx.core.domainであるが、私はCOMではcom.xxx.core.domain.accountと個人的クラスでクラスをアカウントたい:以下に示すように、私はibator設定ファイルを持っています。 xxx.core.domain.personel。どうすればいい? (ibatorでは、テーブルタグにschema = "myschema"を入れることができますが、MySQLはスキーマをサポートしていません)ありがとう。

答えて

0

解決策が見つかりました。 runtimeSchema(。データベース・サポート・スキーマか否かは重要ではないそれはちょうど動作します。)例えば、この目的のために使用することができます。

<table tableName="account" domainObjectName="Account"> 
    <property name="runtimeSchema" value="account" /> 
</table> 

をibatorは、すべてのテーブルにrunctimeSchemaを付加しますが。これはaccount.accountを(アカウントの代わりに)テーブル名として生成します。これは動作しません。しかし、すべてのプレフィックスを削除するスクリプトを書くことができます。