java -jar h2*.jar
, h2.bat
, or h2.sh
. Reference: SQL grammar, functions, data types, tools, API
Features: fulltext search, encryption, read-only (zip/jar), CSV, auto-reconnect, triggers, user functions
Embedded
jdbc:h2:~/test
'test' in the user home directory
jdbc:h2:/data/test
'test' in the directory /data
jdbc:h2:test
in the current(!) working directory
In-Memory
jdbc:h2:mem:test
multiple connections in one process
jdbc:h2:mem:
unnamed private; one connection
Server Mode
jdbc:h2:tcp://localhost/~/test
user home dir
jdbc:h2:tcp://localhost//data/test
absolute dir
Server start:java -cp *.jar org.h2.tools.Server
Settings
jdbc:h2:..;MODE=MySQL
compatibility (or HSQLDB,...)
jdbc:h2:..;TRACE_LEVEL_FILE=3
log to *.trace.db
Class.forName("org.h2.Driver"); Connection conn = DriverManager. getConnection("jdbc:h2:~/test"); conn.close();
import org.h2.jdbcx.JdbcConnectionPool; JdbcConnectionPool cp = JdbcConnectionPool. create("jdbc:h2:~/test", "sa", "sa"); Connection conn = cp.getConnection(); conn.close(); cp.dispose();
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.3.176</version> </dependency>
hibernate.cfg.xml (or use the HSQLDialect):
<property name="dialect"> org.hibernate.dialect.H2Dialect </property>
Datasource class: org.h2.jdbcx.JdbcDataSource
oracle.toplink.essentials.platform.
database.H2Platform