Ich benutze Spring MyBatis, um eine Zeile in eine Tabelle einzufügen. Das Problem ist, dass in meiner h2 Datenbank ich nicht noch die Tabelle erstellen, und ich möchte, dass es im laufenden Betrieb tuninject sql in mybatis
dies ist meine aktuelle Frühjahr Kontextkonfiguration
<sql id="CREATE_TABLE">
CREATE TABLE ENTITY(ENTITY_ID INT PRIMARY KEY, TITLE VARCHAR(255),DESCRIPTION VARCHAR(255))
</sql>
<insert id="CREATE" parameterType="com.dao.entity.dto.EntityDaoDTO">
INSERT INTO
ENTITY
(ENTITY_ID, TITLE, DESCRIPTION)
VALUES
(#{entityId},#{title},#{description})
</insert>
Wie kann ich tun, um anzugeben, dass SQL-Tag ausgeführt werden muss, bevor das Einfügen geschieht?
ich bin läuft h2 als Java-Prozess durch Maven
<execution>
<id>start-h2</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
<configuration>
<name>start-h2-f2e</name>
<waitAfterLaunch>2</waitAfterLaunch>
<workingDir>../../../h2/sakila-h2-master/</workingDir>
<arguments>
<argument>java</argument>
<argument>-cp</argument>
<argument>h2-1.3.161.jar</argument>
<argument>org.h2.tools.Server</argument>
<argument>-ifExists</argument>
<argument>-tcp</argument>
<argument>-web</argument>
<argument>-tcpAllowOthers</argument>
</arguments>
</configuration>
</execution>
Grüße
Ich würde sagen, Sie brauchen init-Skript-ddl am Start ausgeführt werden, DB-Struktur zu erstellen, anstatt die Schecks in der einfügen Anruf hinzufügen. – StanislavL
hat dieses ddl-script nie benutzt, keine idee wo es sein sollte? Ich laufe einfach den h2 als Java-Prozess mit Maven, schaue dir die bearbeitete Frage an – paul