有时,特别是对于内存数据库,在客户端连接到数据库时自动执行 DDL 或 DML 命令是非常有用的。这一功能可通过 INIT 属性启用。请注意,可以向 INIT 传递多个命令,但必须转义分号分隔符,如下例所示。
String url = "jdbc:h2:mem:test;INIT=runscript from '~/create.sql'\;runscript from '~/init.sql'";
请注意,只有在 Java 或属性文件中才需要使用双反斜线。在图形用户界面或 XML 文件中,只需要一个反斜杠:
<property name="url" value="jdbc:h2:mem:test;INIT=create schema if not exists test\;runcript from '~/sql/init.sql'" />
初始脚本中的反斜线(例如在运行脚本语句中指定 Windows 中的文件夹名称)也需要转义(使用第二个反斜线)。因此,在文件夹名称中避免使用反斜线可能会更简单,而应使用正斜线。