From d8e4fbd58ee57438fd4edeabdf604fd03e41f6c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8C=E1=85=A5=E1=86=BC=E1=84=92=E1=85=A7=E1=86=AB?= =?UTF-8?q?=E1=84=8C=E1=85=AE=E1=86=AB?= Date: Fri, 4 Nov 2022 14:49:10 +0900 Subject: [PATCH] =?UTF-8?q?=EB=82=B4=EC=9E=A5=20DB=20=ED=95=99=EC=8A=B5=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springbook/chapter07/EmbeddedDbTest.java | 54 +++++++++++++++++++ src/main/resources/data.sql | 2 + src/main/resources/schema.sql | 4 ++ 3 files changed, 60 insertions(+) create mode 100644 src/main/java/springbook/chapter07/EmbeddedDbTest.java create mode 100644 src/main/resources/data.sql create mode 100644 src/main/resources/schema.sql diff --git a/src/main/java/springbook/chapter07/EmbeddedDbTest.java b/src/main/java/springbook/chapter07/EmbeddedDbTest.java new file mode 100644 index 0000000..5f63077 --- /dev/null +++ b/src/main/java/springbook/chapter07/EmbeddedDbTest.java @@ -0,0 +1,54 @@ +package springbook.chapter07; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; +import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; + +import java.util.List; +import java.util.Map; + +import static org.assertj.core.api.Assertions.assertThat; + +public class EmbeddedDbTest { + EmbeddedDatabase db; + JdbcTemplate template; + + @BeforeEach + void setUp() { + db = new EmbeddedDatabaseBuilder() + .setType(EmbeddedDatabaseType.H2) + .addScript("schema.sql") + .addScript("data.sql") + .build(); + + template = new JdbcTemplate(db); + } + + @AfterEach + void tearDown() { + db.shutdown(); + } + + @Test + void initData() { + List> list = template.queryForList("select * from sqlmap"); + assertThat(list).hasSize(2); + + assertThat(list.get(0).get("key_")).isEqualTo("KEY1"); + assertThat(list.get(0).get("sql_")).isEqualTo("SQL1"); + assertThat(list.get(1).get("key_")).isEqualTo("KEY2"); + assertThat(list.get(1).get("sql_")).isEqualTo("SQL2"); + } + + @Test + void insert() { + template.update("insert into sqlmap(key_,sql_) values(?,?)", "KEY3" , "SQL3"); + + assertThat(template.queryForList("select * from sqlmap")).hasSize(3); + } + +} diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql new file mode 100644 index 0000000..b1f7841 --- /dev/null +++ b/src/main/resources/data.sql @@ -0,0 +1,2 @@ +INSERT INTO SQLMAP(KEY_, SQL_) VALUES('KEY1', 'SQL1'); +INSERT INTO SQLMAP(KEY_, SQL_) VALUES('KEY2', 'SQL2'); diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql new file mode 100644 index 0000000..9d6bd02 --- /dev/null +++ b/src/main/resources/schema.sql @@ -0,0 +1,4 @@ +CREATE TABLE SQLMAP ( + KEY_ VARCHAR(100) PRIMARY KEY, + SQL_ VARCHAR(1000) NOT NULL +);