26.3.2.1.1. Java Versions Supported
MySQL Connector/J supports Java-2 JVMs, including JDK-1.2.x,
JDK-1.3.x, JDK-1.4.x and JDK-1.5.x, and requires JDK-1.4.x or
newer to compile (but not run). MySQL Connector/J does not
support JDK-1.1.x or JDK-1.0.x
Because of the implementation of
java.sql.Savepoint
, Connector/J 3.1.0
and newer will not run on JDKs older than 1.4 unless the class
verifier is turned off (-Xverify:none
), as
the class verifier will try to load the class definition for
java.sql.Savepoint
even though it is
not accessed by the driver unless you actually use savepoint
functionality.
Caching functionality provided by Connector/J 3.1.0 or newer
is also not available on JVMs older than 1.4.x, as it relies
on java.util.LinkedHashMap
which was
first available in JDK-1.4.0.
26.3.2.1.2. MySQL Server Version Guidelines
MySQL Connector/J supports all known MySQL server versions.
Some features (foreign keys, updatable result sets) require
more recent versions of MySQL to operate.
When connecting to MySQL server version 4.1 or newer, it is
best to use MySQL Connector/J version 3.1, as it has full
support for features in the newer versions of the server,
including Unicode characters, views, stored procedures and
server-side prepared statements.
Although Connector/J version 3.0 will connect to MySQL server,
version 4.1 or newer, and implements Unicode characters and
the new authorization mechanism, Connector/J 3.0 will not be
updated to support new features in current and future server
versions.
26.3.2.1.3. Installing the Driver and Configuring the CLASSPATH
MySQL Connector/J is distributed as a .zip or .tar.gz archive
containing the sources, the class files a class-file only
“binary” .jar archive named
"mysql-connector-java-[version]-bin.jar
",
and starting with Connector/J 3.1.8 a “debug”
build of the driver in a file named
"mysql-connector-java-[version]-bin-g.jar
".
Starting with Connector/J 3.1.9, we don't ship the .class
files “unbundled,” they are only available in the
JAR archives that ship with the driver.
You should not use the “debug” build of the
driver unless instructed to do so when reporting a problem or
bug to MySQL AB, as it is not designed to be run in production
environments, and will have adverse performance impact when
used. The debug binary also depends on the Aspect/J runtime
library, which is located in the
src/lib/aspectjrt.jar
file that comes
with the Connector/J distribution.
You will need to use the appropriate graphical or command-line
utility to un-archive the distribution (for example, WinZip
for the .zip archive, and tar for the
.tar.gz archive). Because there are potentially long filenames
in the distribution, we use the GNU tar archive format. You
will need to use GNU tar (or an application that understands
the GNU tar archive format) to unpack the .tar.gz variant of
the distribution.
Once you have extracted the distribution archive, you can
install the driver by placing
mysql-connector-java-[version]-bin.jar in your classpath,
either by adding the FULL path to it to your CLASSPATH
environment variable, or by directly specifying it with the
command line switch -cp when starting your JVM
If you are going to use the driver with the JDBC
DriverManager, you would use "com.mysql.jdbc.Driver" as the
class that implements java.sql.Driver.
Example 26.11. Setting the CLASSPATH Under UNIX
The following command works for 'csh' under UNIX:
$ setenv CLASSPATH /path/to/mysql-connector-java-[version]-bin.jar:$CLASSPATH
The above command can be added to the appropriate startup file
for the login shell to make MySQL Connector/J available to all
Java applications.
If you want to use MySQL Connector/J with an application
server such as Tomcat or JBoss, you will have to read your
vendor's documentation for more information on how to
configure third-party class libraries, as most application
servers ignore the CLASSPATH environment variable. This
document does contain configuration examples for some J2EE
application servers in the section named
"Using Connector/J with J2EE
and Other Java Frameworks", however the authoritative
source for JDBC connection pool configuration information for
your particular application server is the documentation for
that application server.
If you are developing servlets or JSPs, and your application
server is J2EE-compliant, you can put the driver's .jar file
in the WEB-INF/lib subdirectory of your webapp, as this is a
standard location for third party class libraries in J2EE web
applications.
You can also use the MysqlDataSource or
MysqlConnectionPoolDataSource classes in the
com.mysql.jdbc.jdbc2.optional package, if your J2EE
application server supports or requires them. Starting with
Connector/J 5.0.0, the javax.sql.XADataSource interface is
implemented via the
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource class, which
supports XA distributed transactions when used in combination
with MySQL server version 5.0.
The various MysqlDataSource classes support the following
parameters (through standard "set" mutators):