我使用ibator eclipse插件1.2.1。我的RDBMS是MySQL 5.1。我有一个ibator配置文件,如下所示:
<?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.xxx.core.domain.account中的Account类和com.xxx.core.domain.personel中的Personel类。我怎么能这样做? (在ibator中我们可以将schema =“myschema”放在table标签上,但是MySQL不支持模式)谢谢。
答案 0 :(得分:0)
我找到了解决方案。 runtimeSchema(是否支持数据库支持模式。它并不重要。它只是工作)可以用于此目的,例如:
<table tableName="account" domainObjectName="Account">
<property name="runtimeSchema" value="account" />
</table>
然而,ibator会将runctimeSchema添加到每个表中。它将生成account.account作为表名(而不仅仅是帐户),这将不起作用。但您可以编写一个脚本来删除所有前缀。
答案 1 :(得分:0)
如果您正在寻找完整(有效)的示例,那么我发现http://ganeshtiwaridotcomdotnp.blogspot.com/2011/05/tutorial-on-ibatis-using-eclipse-ibator_31.html可能对您有帮助。
本文介绍了使用ibator插件配置ibatis的步骤。并使用可下载代码编写示例示例。