H2 Plugin --------- Supports direct access to a H2 database. H2 is the second generation of HSQL, a popular embedded Java database. The current database is not a true spatial database as it does not have any form of spatial indexing. **Maven** Note that the groupId is **org.geotools.jdbc** for this and other JDBC plugin modules. :: org.geotools.jdbc gt-jdbc-h2 ${geotools.version} Connection Parameters ^^^^^^^^^^^^^^^^^^^^^ +-------------+----------------------------------------------+ | Parameter | Description | +=============+==============================================+ | "dbtype" | Must be the string "h2" | +-------------+----------------------------------------------+ | "database" | The database to connect to | +-------------+----------------------------------------------+ | "user" | User name | +-------------+----------------------------------------------+ Creating ^^^^^^^^ Here is a quick example: .. literalinclude:: /../src/main/java/org/geotools/jdbc/JDBCExamples.java :language: java :start-after: // h2Example start :end-before: // h2Example end The above will reference a database file named "geotools" located in the current working directory. A full path may also be specified: .. literalinclude:: /../src/main/java/org/geotools/jdbc/JDBCExamples.java :language: java :start-after: // h2AbsPathExample start :end-before: // h2AbsPathExample end The above examples create a connection to H2 in "embedded" mode. One limitation to this approach is that it only allows for a single java process to access the database at any one time. H2 also offers a `server mode `_ in which access to the underlying database is made via traditional client-server TCP connection, and removes the embedded single process restriction: .. literalinclude:: /../src/main/java/org/geotools/jdbc/JDBCExamples.java :language: java :start-after: // h2TcpExample start :end-before: // h2TcpExample end