MySQL MySQL Datenbank einbinden in GWT

ageofempires

Mitglied
Hallo zusammen, bin gerade dabei eine Benutzer oberfläche für eine Bücherrei datenbank zu schreiben (Schulprojekt). Habe mit dem GWT Designer die Benutzer oberfläche entwickelt fürs web, außerdem so weit und ganz fertig programmiert. Das einzige Problem ist das ich die MySQL Dantenbank im GWT Designer nicht eingebunden kriege. Die daten sind zur zeit in einem Arry gespeichert leider.
Hier der Code vom GWT-Projekt
Java:
 * Copyright 2011 Google Inc. All Rights Reserved.
package com.mycompany.project.client;

import com.google.gwt.core.client.EntryPoint;


/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class Verlagsverwaltung implements EntryPoint {
	
	public RootPanel rootPanel = RootPanel.get(); 
	public FlexTable flexTable = new FlexTable();
	public TextBox vn0 = new TextBox();
	public TextBox vn1 = new TextBox();
	
	public void Tabelle(String[] VerlagsID, String[] Verlagsname, int i ){
		
		flexTable.setVisible(true);
		flexTable.setStyleName("gwt-SuggestBoxPopup");
		rootPanel.add(flexTable, 10, 211);
		flexTable.setSize("938px", "143px");
		 
		int zelle = i + 1 ;
		
		for(int j =0; j < VerlagsID.length -1 ; j++)
		{ 
		flexTable.setText(0, 0, "Verlags - ID");
		flexTable.setText(zelle, 0, VerlagsID[i]);
		flexTable.setText(0, 1, "Verlagsname");
		flexTable.setText(zelle, 1, Verlagsname[i]);
		}
	}
	
	public void Suche () {

		int wert =20;
		
		String[] VerlagsID= new String[wert];
		VerlagsID[0]="1";
		VerlagsID[1]="2";
		VerlagsID[2]="3";
		VerlagsID[3]="4";
		VerlagsID[4]="5";
		VerlagsID[5]="6";
		VerlagsID[6]="7";
		VerlagsID[7]="8";
		VerlagsID[8]="9";
		VerlagsID[9]="10";
		VerlagsID[10]="11";
		VerlagsID[11]="12";
		VerlagsID[12]="13";
		VerlagsID[13]="14";
		VerlagsID[14]="15";
		VerlagsID[15]="16";
		VerlagsID[16]="17";
		VerlagsID[17]="18";
		VerlagsID[18]="19";
		VerlagsID[19]="20";
		
		String[] Verlagsname = new String[wert];
		Verlagsname[0]="Klett";
		Verlagsname[1]="Cornelsen";
		Verlagsname[2]="DPunkt";
		Verlagsname[3]="Wilhelm Fink";
		Verlagsname[4]="Dürenmatt";
		Verlagsname[5]="Francke";
		Verlagsname[6]="Bastei-Verlag";
		Verlagsname[7]="Rowohlt";
		Verlagsname[8]="Carlsen";
		Verlagsname[9]="Goldmann";
		Verlagsname[10]="Piper";
		Verlagsname[11]="Fischer";
		Verlagsname[12]="Suhrkamp";
		Verlagsname[13]="Wieser";
		Verlagsname[14]="VS Verlag";
		Verlagsname[15]="Arena Verlag";
		Verlagsname[16]="Reilly";
		Verlagsname[17]="Mitp";
		Verlagsname[18]="Galileo Computing";
		Verlagsname[19]="Franzis";
		
			for(int i =0; i < wert ; i++)
			{
				if(vn0.getText().length() > 0)
				{
					if(Verlagsname[i].contains(vn0.getText()))
						Tabelle(VerlagsID, Verlagsname, i); 
				}
				else if (vn1.getText().length() > 0)
				{
					if(VerlagsID[i].equals(vn1.getText()))
						Tabelle(VerlagsID, Verlagsname, i);
				}
				else
				{
					flexTable.setVisible(true);
					flexTable.setStyleName("gwt-SuggestBoxPopup");
					rootPanel.add(flexTable, 10, 211);
					flexTable.setSize("938px", "143px");
					
					flexTable.setText(1, 1, "Kein Suchkriterium");
				}
			}
		}

		
	public void onModuleLoad() {

		rootPanel.setStyleName("body");
		
		AbsolutePanel absolutePanel = new AbsolutePanel();
		absolutePanel.setStyleName("gwt-SuggestBoxPopup");
		rootPanel.add(absolutePanel, 10, 10);
		absolutePanel.setSize("935px", "166px");
		
		MenuBar menuBar = new MenuBar(false);
		absolutePanel.add(menuBar, 0, 0);
		menuBar.setSize("933px", "30px");
		
		MenuItem mntmVerlagsverwaltung = new MenuItem("Verlagsverwaltung", false, (Command) null);
		menuBar.addItem(mntmVerlagsverwaltung);
		
		Label lblVerlagsname = new Label("Verlagsname");
		absolutePanel.add(lblVerlagsname, 10, 53);
		
		Label lblVerlagsid = new Label("Verlags-ID");
		absolutePanel.add(lblVerlagsid, 10, 104);
		lblVerlagsid.setSize("104px", "22px");
		
		
		absolutePanel.add(vn0, 132, 47);
		absolutePanel.add(vn1, 132, 98);
		
		Button btnNewButton = new Button("New button");
		btnNewButton.setText("Suche Starten ");
		btnNewButton.setAccessKey('s');
		btnNewButton.addClickHandler(new ClickHandler() {
			public void onClick(ClickEvent event) {
				flexTable.clear();
				flexTable.removeAllRows();	
				flexTable.setVisible(false);
				Suche();
			}
		});
		

		absolutePanel.add(btnNewButton, 333, 51);
		Button btnNewButton_1 = new Button("New button");
		btnNewButton_1.setAccessKey('z');
		btnNewButton_1.setText("Zur\u00FCcksetzen");
		btnNewButton_1.addClickHandler(new ClickHandler() {
			public void onClick(ClickEvent event) {
				vn0.setText("");
				vn1.setText("");
				flexTable.clear();
				flexTable.removeAllRows();	
				flexTable.setVisible(false);
			}
		});

		absolutePanel.add(btnNewButton_1, 333, 102);
		btnNewButton_1.setSize("95px", "24px");
		
		Image image = new Image("Image/Unbenannt.PNG");
		absolutePanel.add(image, 898, 0);
		image.setSize("37px", "32px");
		
		Button btnNewButton_2 = new Button("New button");
		btnNewButton_2.addClickHandler(new ClickHandler() {
		btnNewButton_2.setText("Neu Anlegen ");
		absolutePanel.add(btnNewButton_2, 566, 53);
	}
}
Dann habe ich noch einen versuch nur als normale Java anwendung die Datenbank einzubinden dies ist gelungen aber wenn ich genau denn Funktonstüchtigen Code in den obernen einzubetten kommt es zum fehler. Das ist der Java code der als Java Projekt funktioniert aber wenn ich ihn in den GWT-Designer einfüge kommt es zu fehler. Was muss ich anderes machen ? Bin rat los
Java:
    	Connection conn = null;
    	int t = 10;
    	String url = "jdbc:mysql://localhost/bookdb_f2"; //url adresse zur Datenbank
    	String user = "root";	
    	String pass = "toor;
    	
    	try {
	    	Class.forName("com.mysql.jdbc.Driver").newInstance();	// neue klasse erzeugen zum einbinden des Treibers
	    	conn = DriverManager.getConnection(url, user, pass); // übergabe zum verbindugs aufbau 
	    	
	    	 Statement statement = conn.createStatement();
	    	 String sql = "SELECT verlagID, Name FROM verlag where verlagID <=" + t;
	         ResultSet rset = statement.executeQuery(sql);	//SQL statement
	         
		         while (rset.next()) {
		        	 String Verlagname =rset.getString("name");// Spalten Namen 
		        	 String VerlagID =rset.getString("verlagid"); // Spalten Name
		        	 String ausgabe = VerlagID + " " + Verlagname;
		        	 System.out.println(ausgabe);
		         }
    	}
    	catch (Exception e) {	// tritt ein wenn fehler entstehen 
    	System.err.println("Kann nicht verbinden!"); 
    	}
Habe schon viele Forumen und beiträge gelesen aber bin nicht schlau geworden, würde mich um hilfe und rat von euch freuen
Danke Markus
 

ageofempires

Mitglied
Dies ist die Fehler Meldung die beim compilieren auf tritt. Leider wird auch nix rot markiert was falsch ist im code.

Ignored 72 units with compilation errors in first pass.
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
Finding entry point classes
[ERROR] Errors in 'file:/C:/Users/Markus/Documents/Eclipse/Verlagsverwaltung/src/com/mycompany/project/client/Verlagsverwaltung.java'
[ERROR] Line 66: No source code is available for type java.sql.Connection; did you forget to inherit a required module?
[ERROR] Line 73: The method forName(String) is undefined for the type Class
[ERROR] Line 74: No source code is available for type java.sql.DriverManager; did you forget to inherit a required module?
[ERROR] Line 76: No source code is available for type java.sql.Statement; did you forget to inherit a required module?
[ERROR] Line 78: No source code is available for type java.sql.ResultSet; did you forget to inherit a required module?
[ERROR] Line 91: Syntax error on token "}", delete this token
[ERROR] Unable to find type 'com.mycompany.project.client.Verlagsverwaltung'
[ERROR] Hint: Previous compiler errors may have made this type unavailable
[ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly


Oder weiß jemand wie man MySQL im GWT Designer einbindet ?
 
M

maki

Gast
Du kannst im "client" Package kein JDBC verwenden, denn alles in "client" wird nach JavaScript übersetzt, dafür musst du das "server" package nutzen.
 

ageofempires

Mitglied
okay das ist logisch. Also um die Verbindung zur Datenbank auf zubauen eine neue klasse
in diesem Package machen : com.mycompany.project.server und hier den Verbindungsaufbau rein schreiben und diese klasse dann in die Client Package einbinden oder
 

DASHER

Mitglied
Habe in etwa das selbige Problem. Bei mir funktioniert die DB-Abfrage ebenfalls (wie auch in einem vergleichbaren Thread) als einfache Applikation einwandfrei. Habe aber auch nicht versucht sie auf der Client Seite zu implementieren. Wollte nur mein weiteres Vorgehen planen. Und dieser Thread scheint ja noch nicht ganz erledigt zu sein(?).

Also liege ich richtig in der Annahme, dass man hier von Remote Method Invocation Gebrauch machen muss, damit man z.B. auf Button-Click (Clientseitig/ client package) eine Methode einer Klasse (Serverseitig/genanntes server package) aufrufen kann, welche dann die DB-Abfrage durchführt?
 
D

dummesPw!

Gast
Dasher hat da ganz recht:
Pack deinen gesammten Datenbankcode in den Serverteil und greif dann per GWT-RPC auf die Daten im server zu. Dabei noch als Tip: zieh nochmal eine Abstraktionsschicht zwischen GWT-Server und Datenbank, dann hast dus deutlich leichter falls sich Anforderungen an die Datenbank ändern.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M MySQL Datenbank einbinden - Riesenproblem Datenbankprogrammierung 6
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
M MySQL Datenbank in Array Datenbankprogrammierung 2
W MYSQL Datenbank Login Android Datenbankprogrammierung 3
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
S Datenbank MySQL und Java Datenbankprogrammierung 8
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
L MySQL Android zu externer MySQL Datenbank verbinden Datenbankprogrammierung 5
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
N MySQL Datenbank lokal Datenbankprogrammierung 3
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
M In MySql Datenbank schreiben Datenbankprogrammierung 6
F BPlaced MySql Datenbank ansprechen Datenbankprogrammierung 5
M MySQL Datenbank durchsuchen Datenbankprogrammierung 5
K MySQL Datenbank 2facher Zugriff Datenbankprogrammierung 1
H Datenbank-Anbindung Java/MySQL Datenbankprogrammierung 2
L Zugriff auf lokal gespeicherte mySQL Datenbank Datenbankprogrammierung 3
S Verbindungsaufbau zu MySql Datenbank nicht möglich Datenbankprogrammierung 3
A Nach Export mysql Verbindung zur Datenbank nicht möglich, was tun? Datenbankprogrammierung 7
MiMa Mehrfacheinträge in MySQL Datenbank Datenbankprogrammierung 5
M Mysql-Datenbank connecten (Eigenes Framework) Datenbankprogrammierung 10
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
E Zugriff auf MySQL-Datenbank Datenbankprogrammierung 4
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
T MySQL Kann Verbindung zur MySQL Datenbank nicht herstellen. Datenbankprogrammierung 4
J Zugriff auf MySQL-Datenbank Datenbankprogrammierung 5
S MySQL Koreanische Schriftzeichen in MySQL Datenbank schreiben Datenbankprogrammierung 11
M Datenbank (MySQL) auslesen Datenbankprogrammierung 3
S Java Connection to MySQL Datenbank FunPic Datenbankprogrammierung 4
G Suchfunktion mit Java in Mysql Datenbank Datenbankprogrammierung 7
M Auf MySQL Datenbank mit Java zugreifen Datenbankprogrammierung 4
M MySQL Datenbank mit Java routen Datenbankprogrammierung 2
F Connection refused: connect Bei Verbindungsherstellung zu MySQL Datenbank Datenbankprogrammierung 3
vandread mySQL Datenbank erstellen? Datenbankprogrammierung 4
P Daten aus MySql Datenbank lesen??? Datenbankprogrammierung 6
M Ausgabe in Tabelle der MySQL-Datenbank mit Java Datenbankprogrammierung 4
E Wie auf eine MySql Datenbank zugreifen Datenbankprogrammierung 25
G MySQL: Anfragen von Bits aus der Datenbank Datenbankprogrammierung 3
R Entfernte MySQL Datenbank für lokale Swing-App Datenbankprogrammierung 8
C MySQL Datenbank starten Datenbankprogrammierung 4
B Spaltennamen von MySQL Datenbank nach Java auslesen Datenbankprogrammierung 10
C MySQL Datenbank mit Hibernate befüllen Datenbankprogrammierung 5
W Auslesen von Tabellen einer MYSql Datenbank Datenbankprogrammierung 25
A Java-Applet -> MySQL Datenbank Datenbankprogrammierung 7
M Mysql datenbank auslesen und mittels servlet wiedergeben Datenbankprogrammierung 3
N Problem mit Verbindung zu externer MySQL Datenbank Datenbankprogrammierung 8
G SSH Verbindung zur (MySQL-)Datenbank Datenbankprogrammierung 6
M Sicherheit bei Applet auf MySQL Datenbank Datenbankprogrammierung 4
L Bilder in MySQL-Datenbank via Java verwalten Datenbankprogrammierung 5
B Eintrag in der MySQL Datenbank eintragen? Datenbankprogrammierung 2
M MySQL-Datenbank über Java ansprechen Datenbankprogrammierung 5
Z Auslesen aus einer mySQL Datenbank Datenbankprogrammierung 4
R Nach String in MySQL datenbank suchen Datenbankprogrammierung 7
M Mit Java Data Objects Daten in einer MySQL-Datenbank manipul Datenbankprogrammierung 9
C Verbindung zur MySQL Datenbank scheiter. "Bad handshake Datenbankprogrammierung 2
D mysql Standalone Datenbank Datenbankprogrammierung 6
R Wie ist URL zu meiner MySQL Datenbank? Name?Pwd? Datenbankprogrammierung 2
K keine Verbindung zu mysql Datenbank Datenbankprogrammierung 11
B double Array in MySQL Datenbank speichern/laden Datenbankprogrammierung 12
D Kann nicht auf MySQL Datenbank Zugriff Datenbankprogrammierung 9
F Abfrage eines DB Feldes aus einer mySQL Datenbank Datenbankprogrammierung 2
L Verbindung zu MySQL-Datenbank Datenbankprogrammierung 2
S Daten aus einer MySQL-Datenbank auslesen Datenbankprogrammierung 7
S Problem bei Eingabe von Dateipfad in eine MySQL-Datenbank Datenbankprogrammierung 4
welterde Objekte in Mysql Datenbank speichern Datenbankprogrammierung 3
R Zugriff auf MySQL-Datenbank im Internet Datenbankprogrammierung 13
X Vectoren in mySQL-Datenbank speichern und auslesen Datenbankprogrammierung 8
F Problem mit MySQL-Datenbank und Java-Applet Datenbankprogrammierung 2
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
Juelin MySQL Datenbankmit glassfish und Netbeans Datenbankprogrammierung 18
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
P MySQL- Neues Passwort Datenbankprogrammierung 1
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
sserio SQL oder MySQL Datenbankprogrammierung 44
OnDemand Mysql Query Builder Datenbankprogrammierung 1
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
yakazuqi MySQL MySQL Connection reset Datenbankprogrammierung 7
OnDemand MySql Foreign Key nötig oder unnötig Datenbankprogrammierung 3
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
OnDemand MySQL und mongoDB wann macht was Sinn? Datenbankprogrammierung 11
D MYSQL goorm IDE - Wie speichern? Datenbankprogrammierung 0
OnDemand Mysql UPDATE if condition Datenbankprogrammierung 14
D MySQL Geburtsdatum per KW abfragen Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
J MySQL - Primary Key Date,Time vs ID Datenbankprogrammierung 16
ruutaiokwu MySQL: Messwerte, welche stagnieren interpolieren? Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
J MySQL MySQL Risiken bei Stromausfall minimieren Datenbankprogrammierung 9
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7

Ähnliche Java Themen

Neue Themen


Oben