Download | Release Notes | Changelog |
Release date: 4 May 2021
MariaDB Connector/J 3.0.0 is a Alpha (Alpha) release.
NOTE: MariaDB Connector/J 3.0.0 is fully compatible with the latest release of version 2.7. Further maintenance releases will not be provided for version 2.7 after MariaDB Connector/J 3.0 becomes stable (GA).
This version is a complete rewrite of the Java driver. The goal being to have a more performant, easy to read, extendable, small driver.
Complete rewrite, code simplification / clarification, reduced size (15%), more than 90% coverage tested.
Performance Improvements:
Prepare and execution are now using pipelining when using option useServerPrepStmts
Performance enhancement with
New Options :
The options useSsl, trustServerCertificate, and disableSslHostnameVerification still exist, but sslMode allows for easier configuration.
If using slf4j, just enable the package "org.mariadb.jdbc" log.
Level ERROR will log connection errors
Level WARNING will log query errors
Level DEBUG will log queries
If not using slf4j, console logging will be used.
If you really want to use the JDK logger, the System property
"mariadb.logging.fallback" set to JDK will indicate to use common
logging.
The Failover implementation now permits redoing transactions : when creating a transaction, all commands will be cached, and can be replayed in case of failover.
This functionality can be enabled using the option transactionReplay.
This is not enabled by default, because it requires that the application avoid using non-idempotent commands.
Example:
Equivalent options are tcpKeepIdle, tcpKeepCount, tcpKeepInterval
Because these are available only with Java 11, setting these options with java < 11 will have no effect.
New Options :
example setting restrictedAuth to "mysql_native_password,client_ed25519,auth_gssapi_client", only those plugins can be use. If server return ask for an authentication plugin not listed in restrictedAuth, driver will throw an exception.
The driver is built with a Service Provider Interface (SPI), permitting easy ways to extend the driver.
Possible extensions:
org.mariadb.jdbc.codec.Codec : Allows encoding/decoding types
org.mariadb.jdbc.plugin.authentication.AuthenticationPlugin : Allows authentication plugin additions. Defaults are "mysql_clear_password", "auth_gssapi_client", "client_ed25519", "mysql_native_password", "dialog" (PAM), and "caching_sha2_password"
org.mariadb.jdbc.plugin.credential.CredentialPlugin : Allows login/password retrieval. Defaults are "AwsIamCredentialPlugin" to permit retrieve a temporary IAM authentication, "EnvCredentialPlugin" to get environment authentication, and "PropertiesCredentialPlugin" to get authentication info from java property
- includeThreadDumpInDeadlockExceptions always includes the thread dump, even when it is not a deadlock exception
- Properties parameters that differ from string not taken in account
For a complete list of changes made in MariaDB Connector/J 3.0.0, with links to detailed information on each push, see the .
useServerPrepStmtsTRACE will log all exchanges with serverorg.mariadb.jdbc.plugin.tls.TlsSocketPlugin : Allows extended TLS implementation
START TRANSACTION;
SELECT next_val(hibernate_sequence);
INSERT INTO myCar(id, name) VALUE (?, ?) //WITH PARAMETERS: 1, 'car1'
INSERT INTO myCarDetail(id, carId, name) VALUE (?, ?, ?) //WITH PARAMETERS: 2, 1, 'detail1'
INSERT INTO myCarDetail(id, carId, name) VALUE (?, ?, ?) //WITH PARAMETERS: 3, 2, 'detail2'
COMMIT;Do not use non-stable (non-GA) releases in production!
This page is: Copyright © 2025 MariaDB. All rights reserved.