Heim  >  Artikel  >  Java  >  Wie viele Möglichkeiten hat Java, eine Verbindung zu MySQL herzustellen? Was sind die Unterschiede?

Wie viele Möglichkeiten hat Java, eine Verbindung zu MySQL herzustellen? Was sind die Unterschiede?

王林
王林nach vorne
2020-11-23 15:33:312747Durchsuche

Wie viele Möglichkeiten hat Java, eine Verbindung zu MySQL herzustellen? Was sind die Unterschiede?

Es gibt fünf Möglichkeiten, MySQL mit Java zu verbinden:

(Teilen von Lernvideos: Java-Lehrvideo)

Der erste Weg: Kapseln Sie den Benutzernamen und das Passwort in der Eigenschaftenklasse.

Zuerst importieren Die Datenbank Es besteht kein Zweifel am Verbindungspaket. Erstellen Sie einen JDBC-Treibertreiber. Speichern Sie die URL der Datenbank (am Beispiel von MySQL) in der erstellten Zeichenfolge URL. Wenn die MySQL-Version niedriger als 8.0 ist, sollte das URL-Speicherformular lauten:

String url = "jdbc:mysql://localhost:3306/test"

Wenn die MySQL-Version 8.0 oder höher ist, lautet das URL-Speicherformular:

String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";

Die hier verwendete MySQL-Version ist 8.0, also ist die Zeitzone am Ende hinzugefügt. Andernfalls ist die Standardzeit die UTC-Zeitzone, die 8 Stunden hinter der Pekinger Zeit liegt.

Dann kapseln Sie den Benutzer und das Passwort, die der MySQL-Datenbank entsprechen, in der Properties-Klasse und erstellen Sie schließlich die Datenbankverbindung über die Connection-Klasse. Der Quellcode lautet wie folgt:

		Driver driver = new com.mysql.jdbc.Driver();
        String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
        /*
        将用户名和密码封装在Properties中
         */
        Properties info = new Properties();
        info.setProperty("user","root");
        info.setProperty("password","ab20010322");

        Connection conn = driver.connect(url,info);

        System.out.println(conn);

Zweite Methode: Basierend auf der ersten Methode Reflexion zum Implementieren des Treibers

Ändern Sie die erste Methode:

Driver driver = new com.mysql.jdbc.Driver();

in:

Class clazz = Class.forName("com.mysql.jdbc.Driver");
Driver driver = (Driver) clazz.newInstance();

Im Vergleich zur ersten Methode haben die beiden Implementierungen die gleichen Funktionen, aber die zweite Methode verwendet Reflexion, um den Treiber zu implementieren, was vermieden werden kann Die Verwendung der dritten Methode macht den Code portabler. Der Quellcode der zweiten Methode lautet wie folgt:

 /*
        使用反射获取Driver类实例
        与Driver driver = new com.mysql.jdbc.Driver()功能相同,只是不适用第三方接口,使得程序具有更好的可移植性
         */
        Class clazz = Class.forName("com.mysql.jdbc.Driver");
        Driver driver = (Driver) clazz.newInstance();

        /*
        提供要连接的数据库
         */
        String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";

        /*
        提供需要的用户名和密码
         */
        Properties info = new Properties();
        info.setProperty("user","root");
        info.setProperty("password","ab20010322");

        Connection connection = driver.connect(url,info);

        System.out.println(connection);

Die dritte Methode: Verwenden Sie DriveManager (Klassen) anstelle von Drive

Der Quellcode lautet wie folgt:

        Class clazz = Class.forName("com.mysql.jdbc.Driver");
        Driver driver = (Driver) clazz.newInstance();
        /*
        提供连接信息
         */
        String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
        String user = "root";
        String password = "ab20010322";
        /*
        注册驱动
         */
        DriverManager.registerDriver(driver);
        /*
        获取连接
         */
        System.out.println(DriverManager.getConnection(url,user,password));

Die vierte Methode: Verstecken Sie die Methode zum Laden der Treiber

Methode ausblenden In der dritten Mittelschule wird

Driver driver = (Driver) clazz.newInstance();
DriverManager.registerDriver(driver);

in

Class.forName("com.mysql.jdbc.Driver");

geändert. Auf diese Weise kann der Treiberladestatus ausgeblendet werden

Der Quellcode lautet wie folgt:

        String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
        String user = "root";
        String password = "ab20010322";
        /*
        加载Driver
         */
        Class.forName("com.mysql.jdbc.Driver");//        Driver driver = (Driver) clazz.newInstance();//        DriverManager.registerDriver(driver);
        /*
        获取连接
         */
        System.out.println(DriverManager.getConnection(url,user,password));

Methode 5: Setzen Sie die Grundlegende Informationen, die von der Datenbank in der Konfigurationsdatei jdbc.properties benötigt werden

Für die oben genannten vier Verbindungsmethoden werden die Datenbankinformationen offengelegt. Dies ist nicht sicher. In diesem Zusammenhang sollten wir die von der Datenbank benötigten Grundinformationen in die Konfigurationsdatei jdbc.properties einfügen und sie dann über InputStream auslesen. Dies ist sicher und unsere am häufigsten verwendete Datenbankverbindungsmethode. Die Konfigurationsdatei jdbc.properties lautet wie folgt:

user=root
password=123456url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
Driver=com.mysql.cj.jdbc.Driver
. 1. Die Konfigurationsdatei sollte im Ordner src abgelegt werden. 2. Verwenden Sie Ihre eigene Datenbank für Benutzer und Passwort Benutzername und Passwort

3. Wenn Sie mysql8.0 oder höher verwenden, sollten Sie die Zeitzone am Ende hinzufügen, wenn Sie die URL-Datei konfigurieren, sonst wird ein Fehler gemeldet

Der Quellcode lautet wie folgt :

        InputStream inputStream = ConnectionTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
        Properties info = new Properties();
        info.load(inputStream);
        
        String user =  info.getProperty("user");
        String password = info.getProperty("password");
        String url = info.getProperty("url");
        String driver = info.getProperty("Driver");

        /*
        加载驱动
         */
        Class.forName(driver);

        /*
        获取连接
         */
        Connection conn = DriverManager.getConnection(url,user,password);
        System.out.println(conn);
Verwandte Empfehlungen:

Java-Einführungs-Tutorial

Das obige ist der detaillierte Inhalt vonWie viele Möglichkeiten hat Java, eine Verbindung zu MySQL herzustellen? Was sind die Unterschiede?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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