Java programmieren

Diskutiere Java programmieren im Java Basics - Anfänger-Themen Bereich.
K

Kampfgummibaerlie

Ich bin eigentlich ein absoluter Anfänger bei Java, und kann ziemlich gut mit Postgre-SQL umgehen, und in Folge dessen, würde es mich als erstes interessieren:

1.: Wie richte ich einen JDBC Driver ein?
2.: Wie sieht dann eine Datenbankverbindung aus?
3.: Wie führe ich die SQL-Querys in Java effektiv aus?

Danke schonmal im Voraus ;)

EDIT: habe bisher viel mit PHP und der Datenbank gearbeitet
 
K

Kampfgummibaerlie

bevor ich ganz verzweifle, schreibe ich hier wieder rein:

ich arbeite auf meinem NAS über Putty mit Java...

Hier mein bisheriger Versuch:
Code:
import java.sql.*;

public class pgsql_jdbc {
    public static void main(String[] args) {
        Connection con = null;
        try {
            Class.forName("org.postgresql.Driver");
            con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres", "postgres", "123");
        } catch (Exception e) {
            e.printStackTrace();
            System.err.println(e.getClass().getName()+": "+e.getMessage());
            System.exit(0);
        }
        System.out.println("Datenbankverbindung verbunden!");
    }
}
javac funktioniert einwandfrei, mein Problem jedoch ist dieser Fehler:
Problem1.png

Bin sehr dankbar, wenn ihr mir helfen könnt ;)
 
J

JustNobody

Eine java Datei direkt aufzurufen klappt nur mit den neueren Java Versionen (ab 11 meine ich).

Du musst die Datei erst kompilieren um dann das Programm aufzurufen. Also erst ein
java -cp .... pgsql_jdbc.java
und dann das
java -cp ... pgsql_jdbc

Ansonsten noch eine kleine Anmerkung: Klassen fangen üblicherweise mit einem Großbuchstaben und es wird PascalCase verwendet. Die Klasse sollte also eher PgsqlJdbc heissen. Aber das nur am Rande.

Und noch ein Tipp: Es ist bestimmt deutlich angenehmer, wenn man direkt auf seinem Rechner entwickelt mit einer IDE (IntelliJ, Eclipse, Netbeans, ...) oder zumindest einem vernünftigen Editor. Daher wäre mein Vorschlag, diese ersten Schritte lokal zu machen.
 
F

fhoffmann

Du musst bei Classpath (-cp) auch das aktuelle Verzeichnis (".") angeben.
 
K

Kampfgummibaerlie

bin langsam, aber doch auf einen Zweig gekommen.

Folgender Code funktioniert:
Code:
package jdbc;

import java.sql.*;

public class jdbc {
    public static void main(String[] args) {
        
        Connection conn = null;
        try {
            Class.forName("org.postgresql.Driver");
            conn = DriverManager.getConnection("jdbc:postgresql://192.168.0.3:5432/postgres", "postgres", "123");

            PreparedStatement ps = conn.prepareStatement("select * from generate_series(1, 100)");
            
            ResultSet Result = ps.executeQuery();
                while(Result.next()) {
                    System.out.println(Result.getInt(1));
                }
        } catch (Exception e) {
            e.printStackTrace();
            System.err.println(e.getClass().getName()+": "+e.getMessage());
            System.exit(0);
        }
    }
}
Bis ich den ganzen Code verstehe dauerts wohl noch ein wenig, aber ja... es wird ;)
Mein Code gibt, wobei 192.168.0.3 die interne IP des PG-Servers ist, ich mich als user postgres verbinde, und das passwort nicht von Bedeutung ist, weil bei meiner konfiguration alle aus dem lokalen Netzwerk aktzeptiert werden.

Wo mein Fehler war?:
Ich dachte eine ganze Weile, dass Java eine Server-Seitige Sprache ist, hat sich aber herausgestellt, dass dem nicht so ist.
Also der Client, der das Ganze interpretiert, muss eine Verbindung zum Server herstellen ;)

aber danke soweit :D
 
M

M.L.

Java eine Server-Seitige Sprache ist, hat sich aber herausgestellt, dass dem nicht so ist.
Java kann auf Client- und Serverseite eingesetzt werden, als Beispiel eine JSP die eine Verbindung und CRUD-Funktionalitäten zu einer MySQL-DB herstellt: https://www.guru99.com/jsp-database-connection.html
Also der Client, der das Ganze interpretiert, muss eine Verbindung zum Server herstellen
Bei Webanwendungen, die auf sensible Daten zugreifen dürfen/sollen/..., wohl eher die Serverseite.
 
Thema: 

Java programmieren

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben