...
Code Block | ||
---|---|---|
| ||
Connection conn = DriverManager.getConnection(...); DataContext dataContext = new JdbcDataContext(conn); |
Creating from properties - JdbcDataContextFactory
If you wish to construct your JDBC DataContext from properties, this is also possible. For instance:
Code Block | ||
---|---|---|
| ||
final DataContextPropertiesImpl properties = new DataContextPropertiesImpl(); properties.put("type", "jdbc"); properties.put("url", "jdbc:postgresql://localhost:5432/mydb"); DataContext dataContext = DataContextFactoryRegistryImpl.getDefaultInstance().createDataContext(properties); |
Property | Example value | Required | Description |
---|---|---|---|
type | jdbc | Must be set to 'jdbc' or else another type of DataContext will be constructed. | |
url | jdbc:mysql://localhost/sakila | The JDBC URL to use. | |
driver-class | com.mysql.jdbc.Driver | The JDBC driver class name. | |
username | johndoe | The username to use when connecting. | |
password | qwerty | The password to use when connecting. | |
table-types | TABLE,VIEW | A comma-separated list of table types to include in JDBC metadata discovery. | |
catalog | cat01 | The JDBC 'catalog' value |
Additional behaviour configuration
The module contains a few features that are specific to the JDBC interactions. These are all configured as Java system properties.System property | Default value | Description |
---|---|---|
metamodel.jdbc.convert.lobs | "false" | Whether or not to automatically convert CLOBs into String and BLOBs into byte[] . |
metamodel.jdbc.batch.updates | DatabaseMetaData.supportsBatchUpdates() | Whether or not using the JDBC batch API should be allowed. Set to "true" or "false" to override the default dynamic behavior. |
metamodel.jdbc.compiledquery.pool.max.size | -1 | The maximum number of open prepared statements to keep in a pool for the compiled queries. |
metamodel.jdbc.compiledquery.pool.idle.timeout | 500 | The minimum idle timeout before a prepared statement is marked as evictable. |
metamodel.jdbc.compiledquery.pool.eviction.period.millis | 1000 | The time between eviction runs in the compiled queries pool. |