Mithilfe des JDBC ist es möglich MySQL Verbindungen aufzubauen und Informationen zu übermitteln und abzufragen. Wie das Beispiel zeigt, senden wir ein einfaches Query an die Datenbank und fragen dieses dann ab. Selbstverständlich ist MySQL weitaus komplexer, worauf sich die Sektion “SQL” spezialisiert.

Um ein einfaches Query abzusenden kann folgende Klasse verwendet werden:

hier nun die Klasse MySQL .java

package mysqltest;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
public class MySQL {
 
    private String Username = "root";
    private String Password = "Passwort";
    private String Driver = "com.mysql.jdbc.Driver";
    private String URL = "jdbc:mysql://mysql.host.net:3306/datenbank";
    private Connection connection;
 
    public MySQL() {
        this.Connect();
    }
   /* Sollte der Konstruktur ohne argumente aufgerufen werden, werden die in der klasse genutzten Werte genommen. */
 
 
    public MySQL(String user, String pass) {
        this.Username = user;
        this.Password = pass;
        this.Connect();
    }
 
 /* Sollte der Konstruktur mit den Argumenten user und pass aufgerufen werden, werden diese definiert und dann Verbunden. */
 
    public void Close() {
        if (this.connection != null) {
            try {
                this.connection.close();
            } catch (Exception e) {
            }
        }
    }
 
/* Die Funktion Close() schließt das Query um den Speicher wieder frei zu geben */
 
    public void Connect() {
        try {
            Class.forName(this.Driver);
            this.connection = DriverManager.getConnection(this.URL,
                    this.Username, this.Password);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Error Connecting with User:" + Username + " and Password:" + Password);
        }
    }
 
/* Connect registriert den JDBC Treiber und versucht eine Verbindung herzustellen. Sollte dies nicht möglich sein, wird eine Exception ausgelöst */
 
    public boolean isConnected() {
        try {
            ResultSet rs = this.ReturnQuery("SELECT 1;");
            if (rs == null) {
                return false;
            }
            if (rs.next()) {
                return true;
            }
            return false;
        } catch (Exception e) {
            return false;
        }
    }
 
/* frägt ein einfaches Query ab, welches "1" zurück liefert, falls man verbunden ist */
 
    public ResultSet ReturnQuery(String query) {
        try {
            Statement stmt = this.connection.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            return rs;
        } catch (SQLException e) {
            System.err.println(e.toString());
            return null;
        }
    }
 
/* Sendet ein Query und erwartet eine Rückgabe in Form eines ResultSet */
 
    public boolean RunQuery(String query) {
        try {
            Statement stmt = this.connection.createStatement();
            return stmt.execute(query);
        } catch (Exception e) {
            //  e.printStackTrace();
            return false;
        }
    }
/* Führt das query aus, erwartet aber keine Rückantwort des Servers. */
 
}

um in MySQL zu verbinden wird diese klasse folgendermaßen aufgerufen:

package mysqltest;
 
import MySQL;
 
/**
 *
 * @author li
 */
public class Main {
    public static void main(String[] args) {
        db = new MySQL();
        ResultSet rs = db.ReturnQuery("select count(*) as num from test where a='1'");
        while (rs.next()) {
            countRows = rs.getInt("num");
        }
        System.out.println(countRows);
    }
}