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,
database is removed when all connections are closed
jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
multiple connections in one process,
database in not removed when all connections are closed
(may create a memory leak)
jdbc:h2:mem:
unnamed private; one connection
Server Mode
jdbc:h2:tcp://localhost/~/test
user home dir
jdbc:h2:tcp://localhost//data/test
or jdbc:h2:tcp://localhost/D:/data/test
absolute dir
Server start:java -cp *.jar org.h2.tools.Server
Settings
jdbc:h2:..;MODE=MySQL;DATABASE_TO_LOWER=TRUE
compatibility (or HSQLDB,...)
jdbc:h2:..;TRACE_LEVEL_FILE=3
log to *.trace.db
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>2.3.232</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