import java.sql.*; import java.util.ResourceBundle; public class JDBCTest03 { //注册驱动的另外一种方式 public static void main(String[] args) { Connection connection = null; Statement statement = null; ResultSet resultSet = null; ResourceBundle resourceBundle = ResourceBundle.getBundle("JDBC"); try { //注册的第一种方法 // Constructor constructor = Class.forName(resourceBundle.getString("Driver")).getDeclaredConstructor(); // Driver driver = (Driver)constructor.newInstance(); // DriverManager.registerDriver(driver); //反射机制注册驱动,利用了Driver实现类自带的静态代码块中的注册操作实现,我们使用加载类对象到内存空间的方式去执行了静态代码块的注册操作 Class.forName(resourceBundle.getString("Driver")); //使用反射机制的原理,Class.forName()方法,类加载的时候会执行静态代码块 String url = resourceBundle.getString("url"); String user = resourceBundle.getString("user"); String password = resourceBundle.getString("password"); connection = DriverManager.getConnection(url,user,password); statement = connection.createStatement(); } catch(Exception e) { e.printStackTrace(); } finally { try { if (statement != null) { statement.close(); } } catch (SQLException e) { throw new RuntimeException(e); } try { if (connection != null) { connection.close(); } } catch (SQLException e) { throw new RuntimeException(e); } } } }
import java.sql.*;
import java.util.ResourceBundle;
public class JDBCTest03
{
//注册驱动的另外一种方式
public static void main(String[] args)
{
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
ResourceBundle resourceBundle = ResourceBundle.getBundle("JDBC");
try
{
//注册的第一种方法
// Constructor constructor = Class.forName(resourceBundle.getString("Driver")).getDeclaredConstructor();
// Driver driver = (Driver)constructor.newInstance();
// DriverManager.registerDriver(driver);
//反射机制注册驱动,利用了Driver实现类自带的静态代码块中的注册操作实现,我们使用加载类对象到内存空间的方式去执行了静态代码块的注册操作
Class.forName(resourceBundle.getString("Driver"));
//使用反射机制的原理,Class.forName()方法,类加载的时候会执行静态代码块
String url = resourceBundle.getString("url");
String user = resourceBundle.getString("user");
String password = resourceBundle.getString("password");
connection = DriverManager.getConnection(url,user,password);
statement = connection.createStatement();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if (statement != null)
{
statement.close();
}
}
catch (SQLException e)
{
throw new RuntimeException(e);
}
try
{
if (connection != null)
{
connection.close();
}
}
catch (SQLException e)
{
throw new RuntimeException(e);
}
}
}
}
url=jdbc:mysql://127.0.0.1:13306/Mall user=root Driver=com.mysql.jdbc.Driver password=abc123
url=jdbc:mysql://127.0.0.1:13306/Mall
user=root
Driver=com.mysql.jdbc.Driver
password=abc123