Ich möchte ein bestimmtes aus verschiedenen * Mapper.xml-Dateien wiederverwenden, die alle irgendwie dieselben Objekte lesen.Wiederverwendung von MyBatis ResultMap in mehreren mapper.xml
Ich habe eine Datenbanktabelle namens Projekt, das ich die folgende resultMap für erstellt:
<resultMap id="ProjectMap" type="com.model.Project">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="client_prj_no" jdbcType="VARCHAR" property="clientPrjNo" />
<result column="notes" jdbcType="VARCHAR" property="notes" />
<result column="start_date" jdbcType="TIMESTAMP" property="startDate" />
...
<resultMap>
Es funktioniert großartig in der ProjectMapper.xml aber jetzt habe ich eine ClientWithProjectsMapper.xml erstellen möchten, wo ich will SELECT * FROM CLIENT, PROJECT wo PROJECT.CLIENT_ID = CLIENT.ID und ein Client-Objekt mit einem List-Objekte zurückgeben. Mit anderen Worten, ich möchte ein ClientWithProjects mit einem einzigen SQL.
In meiner Zuordnung möchte ich die ProjectMap (ohne Kopieren/Einfügen) wiederverwenden, die ich in der ProjectMapper.xml definiert habe, aber ich bin nicht sicher, wie dies zu erreichen ist.
Ich könnte die ProjectMap in eine separate Datei ausschließen, aber ich habe keine Einrichtungen in MyBatis gefunden, um andere Dateien aufzunehmen.
Irgendwelche Ideen, wie dies getan werden kann? (Ich benutze Maven, gibt es irgendwelche Plugins, die die Dateien filtern würden, die nach #include oder so suchen, und den Inhalt der Datei direkt in die zu verarbeitende Datei einbeziehen?).
Danke.
-AP_
MyBatis erlaubt nur den Import von Eigenschaftendateien. Mapper-XML-Dateien können im Hauptkonfigurations-XML angegeben werden, aber es gibt keine Möglichkeit, ganze XML-Elemente einzubinden. Maven oder ein anderer Build-Schritt wäre erforderlich, um das endgültige XML dynamisch zu erstellen. – AngerClown
Ich glaube, das ist ein Duplikat? http://stackoverflow.com/questions/6069071/mybatis-ibatis-reusable-sql-fragments-in-a-separate-sql-map-file – Andy
werfen Sie einen Blick http://Stackoverflow.com/a/43356852/2762716 –