Имя таблицы не сопоставлено с верблюжьим регистром от Mybatis Generator
Я попробовал Mybatis Generator, и он работал очень хорошо. Однако, хотя имена столбцов были правильно сопоставлены с регистром верблюдов, имена файлов (Mapper.xml, Client и Model) не соответствовали регистру верблюдов.
Так, например, таблица TIPO_SERVICO была сопоставлена с Tiposervico/TiposervicoMapper вместо TipoServico/TipoServicoMapper.
Я проверил документы Mybatis Generator и не нашел свойства, связанного с именем таблицы.
PS Моя БД это Oracle.
Мой генератор Config.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC
"-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
<context id="context" targetRuntime="MyBatis3Simple">
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection userId="[USER]" password="[PASSWORD]" driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@[IP]:1521:[ENV]">
<property name="remarksReporting" value="true"/>
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.model" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.mapper" targetProject="src/main/resources/META-INF">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<javaClientGenerator targetPackage="com.mapper" type="XMLMAPPER" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<table schema="patr" tableName="%" enableCountByExample="true" enableDeleteByExample="false"
enableSelectByExample="true" enableUpdateByExample="false" >
<domainObjectRenamingRule searchString="^Scm" replaceString="" />
</table>
</context>
</generatorConfiguration>
2 ответа
Решение
Присвоение имен верблюдам снова сработало после комментирования domainObjectRenamingRule.
Почему бы не настроить его вручную? добавить атрибут domainObjectName
<table schema="patr" tableName="TIPO_SERVICO" domainObjectName ="TipoServico" enableCountByExample="true" enableDeleteByExample="false"
enableSelectByExample="true" enableUpdateByExample="false" >
<domainObjectRenamingRule searchString="^Scm" replaceString="" />
</table>