Heim > Java > JavaErste Schritte > 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?

王林
Freigeben: 2020-11-23 15:33:31
nach vorne
2774 Leute haben es durchsucht

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"
Nach dem Login kopieren

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";
Nach dem Login kopieren

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);
Nach dem Login kopieren

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

Ändern Sie die erste Methode:

Driver driver = new com.mysql.jdbc.Driver();
Nach dem Login kopieren

in:

Class clazz = Class.forName("com.mysql.jdbc.Driver");
Driver driver = (Driver) clazz.newInstance();
Nach dem Login kopieren

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);
Nach dem Login kopieren

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));
Nach dem Login kopieren

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);
Nach dem Login kopieren

in

Class.forName("com.mysql.jdbc.Driver");
Nach dem Login kopieren

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));
Nach dem Login kopieren

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
Nach dem Login kopieren
. 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);
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage