日期:2014-05-16 浏览次数:20553 次
Registering the Driver Class
?
There are 3 ways to register a driver to your java program.
?
1 A JAR file can be automatically register if it contains a file name META-INF/services/java.sql.Driver
?
2 Load the driver class in your java program. For example:
Class.forName("oracle.jdbc.OracleDriver");
?
3 Set jdbc.driver property. You can specify the property with a command-line argument, such as
java -Djdbc.drivers=org.postgresql.Driver ProgramName?
? Or your application can set the system property with a call such as
System.setProperty("jdbc.drivers", "org.postgresql.Driver");
?
In your Java program, you open a database connection with code that is similar to the following example:
?
String url = "jdbc:postgresql:COREJAVA"; String username = "dbuser"; String password = "secret"; Connection conn = DriverManager.getConnection(url, username, password);
?
Following code is a whole example.
?
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class DBTest {
public static void main(String[] args) {
try {
runTest();
} catch (SQLException ex) {
for (Throwable t : ex) {
t.printStackTrace();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
public static void runTest() throws IOException, SQLException {
Connection conn = getConnection();
try {
Statement stat = conn.createStatement();
stat.executeUpdate("CREATE TABLE Greetings (Message CHAR(20))");
stat.execute("INSERT INTO Greetings VALUES ('Hello, World!')");
ResultSet result = stat.executeQuery("SELECT * FROM Greetings");
if (result.next()) {
System.out.println(result.getString(1));
}
result.close();
stat.executeUpdate("DROP TABLE Greetings");
} finally {
conn.close();
}
}
public static Connection getConnection() throws IOException, SQLException {
Properties props = new Properties();
InputStream in = DBTest.class.getResourceAsStream("database.properties");
props.load(in);
String drivers = props.getProperty("jdbc.drivers");
if (drivers != null) {
System.setProperty("jdbc.drivers", drivers);
} else {
return null;
}
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");
return DriverManager.getConnection(url, username, password);
}
}
?
database.properties file
?
jdbc.drivers=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql:///javacore jdbc.username=root jdbc.password=mysql?
?