[英]inject sql in mybatis
我正在使用Spring MyBatis在表中插入一行。 問題是在我的h2數據庫中,我還沒有創建表,而我想即時進行創建
這是我當前的Spring上下文配置
<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>
我該如何指定在插入發生之前必須執行sql標記?
我通過Maven將H2作為Java進程運行
<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>
問候
在這里查看數據庫初始化
實際上,您需要向春天添加類似這樣的內容
<jdbc:initialize-database data-source="dataSource">
<jdbc:script location="classpath:database/scripts/init-db.ddl" />
</jdbc:initialize-database>
其中dataSource是要初始化的h2數據源。 所有的數據庫結構創建和一些初始數據插入都可以在單獨的DDL / SQL腳本中完成。
您只需在啟動時為內存H2 DB執行它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.