Giriş
H2 veya onun gibi gömülü veri tabanlar için bir DataSource nesnesi yaratır.
constructor
Şöyle yaparız.
Şöyle yaparız.
İsmi beliritlen scriptleri çalıştırır. Örnek ver
build metodu
Şöyle yaparız.
H2 veya onun gibi gömülü veri tabanlar için bir DataSource nesnesi yaratır.
constructor
Şöyle yaparız.
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2)
.addScript("classpath:schema.sql")
.build();
}
addDefaultScripts metoduŞöyle yaparız.
@Bean
public DataSource getDataSource() {
return new EmbeddedDatabaseBuilder()
.generateUniqueName(false)
.setName("mytestdb")
.setType(EmbeddedDatabaseType.H2)
.addDefaultScripts()
.setScriptEncoding("UTF-8")
.ignoreFailedDrops(true)
.build();
}
schema.sql ve data.sql isimli iki tane sql dosyasını otomatik olarak çalıştırır. Dosyalar için şöyle yaparız//schema.sql Script
CREATE SCHEMA `MYTESTDB` ;
Drop TABLE IF EXISTS MYTESTDBDB.TEST_TABLE;
CREATE TABLE MYTESTDB.TEST_TABLE (
ID INT NOT NULL PRIMARY KEY,
NAME VARCHAR(50) NOT NULL,
EMAIL VARCHAR(20) NOT NULL,
);
CREATE UNIQUE INDEX ON MYTESTDB.TEST_TABLE (EMAIL)
//data.sql Script
INSERT INTO MYTESTDB.TEST_TABLE(id, name, email)
VALUES ('1', 'Tom', 'tom12@hotmail.com');
addScript metoduİsmi beliritlen scriptleri çalıştırır. Örnek ver
build metodu
Şöyle yaparız.
@Configuration
public class TestConfiguration {
@Bean
public DataSource dataSource() {
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
EmbeddedDatabase db = builder
.setType(EmbeddedDatabaseType.H2)
.addScript("db/sql/test.sql")
.setName("MyDBName")
.build();
return db;
}
}
test.sql dosyası şöyledir.CREATE SCHEMA IF NOT EXISTS "MYSCHEMA";
CREATE TABLE "MYSCHEMA"."MyTable"
(
MyField nvarchar(1500)
)
Hiç yorum yok:
Yorum Gönder