1 package guru.mikelue.jdut.example;
2
3 import javax.sql.DataSource;
4
5 import guru.mikelue.jdut.jdbc.JdbcTemplateFactory;
6 import guru.mikelue.jdut.jdbc.function.DbStatement;
7
8
9
10
11 public final class SchemaSetup {
12 private final static String TABLE_ARTIST =
13 "CREATE TABLE IF NOT EXISTS ex_artist(" +
14 " at_id IDENTITY PRIMARY KEY," +
15 " at_name VARCHAR(512) NOT NULL," +
16 " at_gender TINYINT NOT NULL DEFAULT 3," +
17 " at_birthday DATE" +
18 ")";
19 private final static String TABLE_ALBUM =
20 "CREATE TABLE IF NOT EXISTS ex_album(" +
21 " ab_id IDENTITY PRIMARY KEY," +
22 " ab_name VARCHAR(512) NOT NULL," +
23 " ab_release_date DATE NOT NULL," +
24 " ab_duration_seconds SMALLINT NOT NULL," +
25 " ab_type TINYINT NOT NULL DEFAULT 1," +
26 " ab_at_id INTEGER NOT NULL" +
27 ")";
28
29 private SchemaSetup() {}
30
31
32
33
34 public static void buildSchema(DataSource ds)
35 {
36 JdbcTemplateFactory.buildRunnable(
37 () -> ds.getConnection(),
38 conn -> DbStatement.buildRunnableForStatement(
39 conn,
40 stat -> {
41 stat.executeUpdate(TABLE_ALBUM);
42 stat.executeUpdate(TABLE_ARTIST);
43 }
44 ).runJdbc()
45 ).asRunnable().run();
46 }
47 }