Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Code Block
languagejava
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
languagejava
final DataContextPropertiesImpl properties = new DataContextPropertiesImpl();
properties.put("type", "jdbc");
properties.put("url", "jdbc:postgresql://localhost:5432/mydb");
 
DataContext dataContext = DataContextFactoryRegistryImpl.getDefaultInstance().createDataContext(properties);

The relevant properties for this type of instantiation are:

Property
Example value
Required
Description

type

jdbc

(tick)Must be set to 'jdbc' or else another type of DataContext will be constructed.

url

jdbc:mysql://localhost/sakila

(tick)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 propertyDefault valueDescription

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.