Objektorientierung . Konzept

Status
Nicht offen für weitere Antworten.

Spin

Top Contributor
Hallo liebe Community , ich habe folgendes Problem:

Ich habe die Klasse GUI in der ich mir nen Frame anzeigen lasse , mit textfelder.:
Java:
public void buttonSpeichern() {
		
		int p_inhaltsmenge=0;
		int p_barcodenummer = 0;
		double p_minPreis = 0;
		double p_maxPreis = 0;
		
		try {
			// Stringeingaben in Double umwandeln.
			p_inhaltsmenge = Integer.parseInt(jText_inhaltsmenge.getText());
			p_barcodenummer = Integer.parseInt(jText_barcodenummer.getText());
			p_minPreis = Double.parseDouble(jText_minPreis.getText());
			p_maxPreis = Double.parseDouble(jText_maxPreis.getText());
		    
		    } catch (NumberFormatException e) {
			  System.out.print("Fehler beim parsen" + e.getMessage());
		}

		   a = new Produkt(jText_name.getText(),jArea_anmerkung.getText(),p_minPreis,
				           p_maxPreis,p_inhaltsmenge,p_barcodenummer,"Getraenke");
	}



In dieser Klasse kann ich ein neues Produkt erstellen und fülle es mit den Daten aus den Textfeldern.

Nun habe ich eine Klasse : UpdateMySQL

Java:
public class UpdateMySQL {

    public UpdateMySQL() {
    }
    
    
	public static void main(String args[]) {
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException exc) {
			System.err.println("Treiber nicht gefunden!");
			System.exit(-1);
		}
		try {
			Produkt_Frame eingabe;
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/kuehlschrank",
				"Spin","");
			Statement stmt = conn.createStatement();
			
			System.out.print("Einen neuen Produktnamen? ");
			String produktName = "";

			// INSERT INTO produkt VALUES('Kartoffeln')
			stmt.executeUpdate("INSERT INTO produkt VALUES('"+produktName+"')");
			ResultSet rs = stmt.executeQuery("SELECT * FROM produkt");
			while (rs.next()) {
				System.out.println("Produkt: "+rs.getString("name"));
			}
		} catch (SQLException exc) {
			System.err.println(exc.getMessage());
		} 
	}
}


So ich möchte gerne dass meine Produkte in der Datenbank gespeichert erden, möchte dabei aber DB und GUI trennen.
Nun weiß ich nicht wie ich es mache.

Ich könnte einen Konstruktor bauen mit die gleichen Parameter ,die Produkt auch verlangt, erstellen.

Der würde dann so aussehen:

Java:
 public UpdateMySQL(String p_name, String p_anmerkung, double p_minPreis,
			double p_maxPreis, int p_inhaltsmenge, int p_barcodenummer,
			String p_gruppenName) {
    }

Aber das ist ja doof.

Andersrum müsste ich ne methode schreiben mit den ganzen parametern.
Java:
public void inDBEinfuegen(String p_name, String p_anmerkung, double p_minPreis,
			double p_maxPreis, int p_inhaltsmenge, int p_barcodenummer,
			String p_gruppenName)
        {
            
            
        }


Und die dann in UpdateMysql .
Aber das ist das gleiche.

Ich habe doch schon ein Produkt mit den ganzen parametern.
:
Java:
/* �berladener Constructor */
	public Produkt(String p_name, String p_anmerkung, double p_minPreis,
			double p_maxPreis, int p_inhaltsmenge, int p_barcodenummer,
			String p_gruppenName) {
		super();
		this.name = p_name;
		this.anmerkung = p_anmerkung;
		this.minPreis = p_minPreis;
		this.maxPreis = p_maxPreis;
		this.inhaltsmenge = p_inhaltsmenge;
		this.barcodenummer = p_barcodenummer;
		this.gruppenName = p_gruppenName;

	}


Ich will das ein Produkt erstellt wird. Und alle zugehörigen Parameter in die Datenbank.
Nun habe ich alle klassen soweit fertig , bekomme sie aber nicht verbunden.:/

Weiß einer einen Rat?

Eine Andere als wenn ich es so mache?

Maybe mit:

Alles in Produkt speichern und eine Methode womit ich nur das produkt übergebe?


PS: Muss die connection zu db immer eine main haben?
Oder kann ich dass auch alles in methoden verpacken?
 

ARadauer

Top Contributor
Muss die connection zu db immer eine main haben?
nein ;-)

Eine Main in der Anwendung reicht...

such mal nach MVC Pattern und DAO Pattern. Dein Model oder vielleicht auch dein Controller (hab schon beides gesehen) können dann ein DAO halten, dass dein Produkt dann speichert....


aja und die p_ vor den Variablen kannst du dir sparen. Das macht man nicht, auch wenns der Lehrer sagt....
 

Spin

Top Contributor
Ok , ich fuchs mich mal ein :

Aber trotzedem , warum funktioniert das nicht?

Java:
 sql.inDBEinfuegen(new Produkt(jText_name.getText(),jArea_anmerkung.getText(),p_minPreis,
				           p_maxPreis,p_inhaltsmenge,p_barcodenummer,"Getraenke"));


Java:
public class UpdateMySQL {
    public void inDBEinfuegen(Produkt p){
        
        verbinden();
        
        try {
			
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/kuehlschrank",
				"Spin","");
			Statement stmt = conn.createStatement();
			
			System.out.print("Einen neuen Produktnamen? ");
			String produktName = p.getName();

			// INSERT INTO produkt VALUES('Kartoffeln')
			stmt.executeUpdate("INSERT INTO produkt VALUES('"+produktName+"')");
			ResultSet rs = stmt.executeQuery("SELECT * FROM produkt");
			while (rs.next()) {
				System.out.println("Produkt: "+rs.getString("name"));
			}
		} catch (SQLException exc) {
			System.err.println(exc.getMessage());
		}
            
        }
    
    public void verbinden(){
        try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException exc) {
			System.err.println("Treiber nicht gefunden!");
			System.exit(-1);
		}
    }


}


String produktName = p.getName();

da hole ich doch die daten ....und name soll eingetragen werden in die db !

???:L
 

ARadauer

Top Contributor
Du stellt die falschen Fragen ;-

Die richtiege Frage ist. Woher weißt du, dass es nicht funktioniert?
 

Spin

Top Contributor
Ich habs gelöst bekommen.


Mein sql war immer null.
grml.
Weiterhin , ist mein statement falsch ....!
Aber dass nun auch korrigiert.

@Aradauer.

Kannst du mir mal links zu mvc schicken , wo ch mir das auf deutsch anlesen kann?

Also in englisch ist dass zu schwer verständlich :/
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
L Einführung Objektorientierung Java Basics - Anfänger-Themen 8
L Einstieg Objektorientierung Java Basics - Anfänger-Themen 10
H Wie geht eigentlich Objektorientierung? Java Basics - Anfänger-Themen 14
L Objektorientierung Java Basics - Anfänger-Themen 6
B Objektorientierung Java Basics - Anfänger-Themen 1
M Array und Objektorientierung? - TicTacToe Spiel Java Basics - Anfänger-Themen 43
T Objektorientierung-Kurze Frage Java Basics - Anfänger-Themen 5
L Hilfe! Objektorientierung Java Basics - Anfänger-Themen 3
S OOP Zusammenhang von Objektorientierung und Ausnahmebehandlungen Java Basics - Anfänger-Themen 6
C Objektorientierung? Java Basics - Anfänger-Themen 5
G Designfrage/Objektorientierung Java Basics - Anfänger-Themen 19
S Methoden Aufgabe zu ""Methoden" und "Objektorientierung" Java Basics - Anfänger-Themen 3
B OOP Programm zur Verdeutlichung von Objektorientierung Java Basics - Anfänger-Themen 7
T Initialisierungen der einzelnen Klassen - Objektorientierung Java Basics - Anfänger-Themen 4
B Objektorientierung Java Basics - Anfänger-Themen 2
W Einstieg Objektorientierung Java Basics - Anfänger-Themen 4
X Objektorientierung Einführung Java Basics - Anfänger-Themen 2
A Objektorientierung Klassen Java Basics - Anfänger-Themen 4
D Objektorientierung / Polymorphismus Java Basics - Anfänger-Themen 8
M Objektorientierung Java Basics - Anfänger-Themen 3
M Objektorientierung - wie macht man's richtig? Java Basics - Anfänger-Themen 3
R ObjektOrientierung Java Basics - Anfänger-Themen 18
D Objektorientierung ? Java Basics - Anfänger-Themen 4
D Objektorientierung Listen Java Basics - Anfänger-Themen 2
J objektorientierung und uml Java Basics - Anfänger-Themen 5
D Objektorientierung - wie konsequent sollte man sein ? Java Basics - Anfänger-Themen 30
D Zuerst Objektorientierung oder GUI ? Java Basics - Anfänger-Themen 19
L Konzept für Quiz Java Basics - Anfänger-Themen 33
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
B Enum innerhalb einer Klasse / anderes Konzept Java Basics - Anfänger-Themen 8
B Limitierungs - Klassse (Restriction).... Konzept so OK? Java Basics - Anfänger-Themen 0
Java-Insel Game-Konzept Java Basics - Anfänger-Themen 10
Ollek Projektplanung - Konzept - Wie geht ihr dort vor? Java Basics - Anfänger-Themen 2
O OOP Problem - Konzept Falsch? Java Basics - Anfänger-Themen 7
rambozola Konzept Webentwicklung mit J2EE Java Basics - Anfänger-Themen 3
S Model-View-Controller Konzept Beispiel Java Basics - Anfänger-Themen 11
C Stream-Konzept Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben