Heim  >  Artikel  >  Datenbank  >  Welche Möglichkeiten gibt es, JDBC mit MySQL zu verbinden?

Welche Möglichkeiten gibt es, JDBC mit MySQL zu verbinden?

王林
王林nach vorne
2023-06-01 19:08:361743Durchsuche

Testumgebungsbeschreibung

MySQL-Datenbank: jdbc:mysql://localhost:3306/test

IDE: IDEA 2022

JDK: JDK8

MySQL: MySQL 5.7

JDBC: 5.1.37

Erster Typ Weg

Verwenden Sie die Methode zum statischen Laden des Treibers, um eine Verbindung zu MySQL herzustellen.

Diese Methode weist eine geringe Flexibilität und starke Abhängigkeit auf Leistungsverbesserung

public void connection01() throws SQLException {
    // 注册驱动
    Driver driver = new Driver();
    // 创建Properties对象,用于保存mysql账号和密码键值对
    Properties properties = new Properties();
    properties.setProperty("user", "root");
    properties.setProperty("password", "123456");
    String url = "jdbc:mysql://localhost:3306/test";
    // 得到mysql的连接
    Connection connection = driver.connect(url, properties);
    // 得到可以与mysql语句进行交互的对象
    Statement statement = connection.createStatement();
    // 关闭与 mysql语句进行交互的对象
    statement.close();
    // 关闭与mysql的连接
    connection.close();

Der dritte Weg

Verwenden Sie DriverManager für eine einheitliche Verwaltung

public void connection02() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
    // 使用反射动态加载mysql驱动件程序
    Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
    Driver driver = (Driver) aClass.newInstance();
    // 创建Properties对象,用于保存mysql账号和密码键值对
    Properties properties = new Properties();
    properties.setProperty("user", "root");
    properties.setProperty("password", "123456");
    String url = "jdbc:mysql://localhost:3306/test";
    // 得到mysql的连接
    Connection connection = driver.connect(url, properties);
    // 得到可以与mysql语句进行交互的对象
    Statement statement = connection.createStatement();
    // 关闭与 mysql语句进行交互的对象
    statement.close();
    // 关闭与 mysql语句进行交互的对象
    connection.close();
}

Der vierte Weg

Tatsächlich hat Class.forName („com.mysql.jdbc.Driver“) die Treiberinstanz automatisch auf der untersten Ebene geladen

So Driver drivers = (Driver) aClass.newInstance(); dieser Satz kann weggelassen werden

Diese Methode ist auch die am häufigsten verwendete Methode in der Entwicklung

public void connection03() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
	// 使用反射动态加载mysql驱动件程序
    Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
    Driver driver = (Driver) aClass.newInstance();
    String user = "root";
    String password = "123456";
    String url = "jdbc:mysql://localhost:3306/test";
    // 使用DriverManager加载Driver
    DriverManager.registerDriver(driver);
    // 得到mysql的连接
    Connection connection = DriverManager.getConnection(url, user, password);
    // 得到可以与mysql语句进行交互的对象
    Statement statement = connection.createStatement();
    // 关闭与 mysql语句进行交互的对象
    statement.close();
    // 关闭与 mysql语句进行交互的对象
    connection.close();
}

Die fünfte Methodekann nach der Klasse mysql5.16 weggelassen werden .forName("com.mysql.jdbc.Driver"); um den Treiber zu laden

Seit jdk1.5 und höher wird jdbc4 nicht mehr explizit aufgerufen, um den Treiber zu registrieren Rufen Sie META automatisch unter dem Treiber-JAR-Paket auf. -Registrieren Sie den Klassennamen im Text von INFservicesjava.sql.Driver

Es wird empfohlen, CLAss("com.mysql.jdbc.Driver") zu schreiben, was klarer ist und hat eine bessere Kompatibilität



Hier wird auch die Eigenschaftenkonfigurationsdatei verwendet. Realisieren Sie das dynamische Lesen dynamischer Informationen und verbessern Sie die Flexibilität

Es wird empfohlen, diese Methode zu verwenden.

Der Inhalt der Konfigurationsdatei von src/com/mysql/mysql.properties ist wie folgt

public void connection04() throws ClassNotFoundException, SQLException {
    // 使用反射动态加载mysql驱动件程序
    Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
    String user = "root";
    String password = "123456";
    String url = "jdbc:mysql://localhost:3306/test";
    // 得到mysql的连接
    Connection connection = DriverManager.getConnection(url, user, password);
    // 得到可以与mysql语句进行交互的对象
    Statement statement = connection.createStatement();
    // 关闭与 mysql语句进行交互的对象
    statement.close();
    // 关闭与 mysql语句进行交互的对象
    connection.close();
}
Verbinden Sie das MySQL-Programm

url=jdbc:mysql://localhost:3306/test
user=root
password=123456

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, JDBC mit MySQL zu verbinden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen