Spec-Zone .ru
спецификации, руководства, описания, API
|
When you are using JDBC outside of an application server, the DriverManager
class
manages the establishment of Connections.
Specify to the DriverManager
which JDBC drivers to try to make Connections with.
The easiest way to do this is to use Class.forName()
on the class that implements
the java.sql.Driver
interface. With MySQL Connector/J, the name of this class is
com.mysql.jdbc.Driver
. With this method, you could use an external configuration
file to supply the driver class name and driver parameters to use when connecting to a database.
The following section of Java code shows how you might register MySQL Connector/J from the main()
method of your application. If testing this code, first read the installation
section at Section 22.3.3, "Connector/J Installation", to make
sure you have connector installed correctly and the CLASSPATH
set up. Also, ensure
that MySQL is configured to accept external TCP/IP connections.
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;// Notice, do not import com.mysql.jdbc.*// or you will have problems!public class LoadDriver { public static void main(String[] args) { try { // The newInstance() call is a work around for some // broken Java implementations Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (Exception ex) { // handle the error } }}
After the driver has been registered with the DriverManager
, you can obtain a Connection
instance that is connected to a particular database by calling DriverManager.getConnection()
:
Example 22.1. Connector/J: Obtaining a connection from theDriverManager
If you have not already done so, please review the section Section
22.3.6.1, "Connecting to MySQL Using the JDBC DriverManager
Interface"
before working with these examples.
This example shows how you can obtain a Connection
instance from the DriverManager
. There are a few different signatures for the getConnection()
method. Consult the API documentation that comes with your
JDK for more specific information on how to use them.
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;Connection conn = null;...try { conn = DriverManager.getConnection("jdbc:mysql://localhost/test?" + "user=monty&password=greatsqldb"); // Do something with the Connection ...} catch (SQLException ex) { // handle any errors System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode());}
Once a Connection
is established, it can be used to create Statement
and PreparedStatement
objects, as
well as retrieve metadata about the database. This is explained in the following sections.