MySQl Datenbank als Array ausgeben

Status
Nicht offen für weitere Antworten.

TeamBob

Aktives Mitglied
Hi
Also ich habe einen Suchbefehl programmiert, der eine MySql Datenbank nach dem eingegeben Wort
durchsucht. Ich will das diese gefunden Dokumente als eine Liste zurückgegeben werden und
man diese dann auswählen kann um sie zu öffnen.
Weis jemand wie ich das verwirklichen könnte, weil ich habe dafür echt keinen Ansatz.
Danke
 

ARadauer

Top Contributor
ja du holst dir die Werte aus dem Resultset und fügst sie in eine ArrayList ein...

zeig mal deinen Code...
 

TeamBob

Aktives Mitglied
Also die Suchfunktion steckt in einen Project drin wo ich jetzt den Webservice programmiere zu der diese
Suchfunktion verwenden soll.

Die Suchfunktion im Project
Code:
public List<Document> searchInDocumentFieldsForSimpleSearch(
			final String and_search, final Long userId) {

		final List<Long> documentIds = new ArrayList<Long>(0);
		final List<Long> visibledocumentsForUser_ids = new ArrayList<Long>(0);
		final List<Document> documents = new ArrayList<Document>(0);

		final Session session = sf.openSession();
		final FullTextSession fullTextSession = Search
				.createFullTextSession(session);

		// determine visible documents by user
		visibledocumentsForUser_ids.addAll(dfl
				.getVisibleDocumentsByUser(userId));

		final String newSearch = and_search.trim();
		final Query luceneQuery = createInputFieldQuery(newSearch,
				BooleanClause.Occur.MUST, false);

		final org.hibernate.Query fullTextQuery = fullTextSession
				.createFullTextQuery(luceneQuery, Document.class);
		final Iterator it = fullTextQuery.iterate();

		// while (it.hasNext()) {
		// final DocumentField df = (DocumentField) it.next();
		// if (df != null) {
		// if (!documentIds.contains(df.getDocumentId())
		// && (visibledocumentsForUser_ids
		// .contains(df.getDocumentId()))) {
		// final Document dd = df.getDocument();
		// if(dd!=null){
		// if(Hibernate.isInitialized(dd)==false){
		// Hibernate.initialize(dd);
		// }
		// documentIds.add(dd.getId());
		// documents.add(dd);
		// }
		// }
		// }
		// }

		while (it.hasNext()) {
			final Document d = (Document) it.next();
			if (d != null) {
				if (!documentIds.contains(d.getId())
						&& (visibledocumentsForUser_ids.contains(d.getId()))) {
					documentIds.add(d.getId());
					documents.add(d);
				}
			}
		}

		/*
		 * visibledocumentsForUser_ids.addAll(dfl
		 * .getVisibleDocumentsByUser(userId));
		 * 
		 * Iterator is = documentFields.iterator(); while (is.hasNext()) {
		 * DocumentField df = (DocumentField) is.next(); if(df!=null){ Document
		 * dd = df.getDocument(); dd.getAuthors(); if
		 * (!documentIds.contains(dd.getId()) &&
		 * (visibledocumentsForUser_ids.contains(dd.getId()))) {
		 * 
		 * documentIds.add(dd.getId()); documents.add(dd); // System.out //
		 * .println("###### Document " + dd.getName() + " " // +
		 * dd.getCreationDate() + " " // + dd.getModificationDate()); // hier
		 * implemantation für die categorien anzeige ?? } } }
		 */
		return documents;

	}

	/*
	 * (non-Javadoc)
	 * 
	 * @seede SearchLocal#
	 * getAllDocumentsByUserCommunitiesAndByReleaseStatus(java.lang.Long)
	 */

Mein Aufruf der Methode im Webservice
Code:
@WebMethod
 	public String searchInDocumentFieldsForSimpleSearch(final String and_search, final Long userId)
 		{
	
	    return and_search;
 		}
 

ARadauer

Top Contributor
wow mit dem habe ich jetzt nicht gerechnet. wie lange arbeitest du schon mit java?
lucene, webservices... bist du dir sicher, dass du schon so weit bist?

warum machst du alles final?

Ich will das diese gefunden Dokumente als eine Liste zurückgegeben werden
das wird meiner meinung schon gemacht

diese dann auswählen kann um sie zu öffnen
??? was sind das für Document Objekte?
 

TeamBob

Aktives Mitglied
Hi
Also erstmal danke für deine schnelle Hilfe.
Also diese Suchfunktion stammt nicht von mir. Diese wurde von einen
meiner kollegen entworfen und ich bin jetzt im Moment für den
Webservice zuständig dafür.

Also wo genau wird denn da schon in Array umgewandelt?
Ich muss ihn aber doch noch irgendwo sagen das er die Sache
von der ResultSet von Mysql nehmen soll oder etwa nicht und die
MySql suche muss doch auch noch gestartet werden oder irre ich mich
jetzt. Ich stecke gerade total fest. Der webserive kommuniziert schon
mit einfachen Anwendungen aber nun muss die Suche rein?
Ich hoffe du kannst mir da weiterhelfen.
 

ARadauer

Top Contributor
ok nochmal von vorne... was willst du jetzt genau machen? Ist dir bewusst was du da machst?
Weißt du was hibernate und lucene sind?
 

TeamBob

Aktives Mitglied
Hi
Also Hibernate ist open-source-framework für java, indem man a Zuständen von Obejkten in einer relationalen Datenbank speichert und aus entsprechenden Datensätze wiederum Objekte erzeugen kann. So ungefähr grob erklährt. Lucene ist eine Java Open-source Bibliothek zum durchsuchen und erzeugen von Texten.

Also ich soll eine Schnittstelle zu einen Programm erstellen das über Webservice (SOAP) bereit gestellt werden soll.
Diese Webservice soll das durchsuchen von Mysql datenbanken nach Schlagwörtern ermöglichen und diese gefunden
Dokumente dann in einer Liste ausgeben, wo es möglich sein soll diese einzelnen dokumente dann zu öffnen.

Die Suchfunktion steht ja schon und auch der Client und der webservice ist soweit fertig und müsste bloss noch angepasst werden. Jedoch ist mir jetzt nicht ganz klar wie ich die Mysql datenbank durchsuchen soll und die dan als lise ausgeben soll. Ich habe bei Jboss schon eien MySql datei eingefügt die diese Sache ermöglichen soll.

MySql Datei

Code:
  <?xml version="1.0" encoding="UTF-8" ?> 
- <!--  $Id: mysql-ds.xml 71535 2008-04-01 07:05:03Z adrian@jboss.org $ 
  --> 
- <!-- 
  Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html


  --> 
- <datasources>
- <local-tx-datasource>
  <jndi-name>jdbc/lsedemo</jndi-name> 
  <connection-url>jdbc:mysql://test-ts.systems.local:3306/lsedemo</connection-url> 
  <driver-class>com.mysql.jdbc.Driver</driver-class> 
  <user-name>test</user-name> 
  <password>test</password> 
  <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> 
- <!-- 
 should only be used on drivers after 3.22.1 with "ping" support
    <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
    

  --> 
- <!-- 
 sql to call when connection is created
    <new-connection-sql>some arbitrary sql</new-connection-sql>
      

  --> 
- <!-- 
 sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers
    <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
      

  --> 
- <!--  corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) 
  --> 
- <metadata>
  <type-mapping>mySQL</type-mapping> 
  </metadata>
  </local-tx-datasource>
  </datasources>

Danke
 

ARadauer

Top Contributor
ich habe leider noch nie mit lucene gearbeitet...
Was sind das für Document Objekte? In einer mysql werden keine dokuemente gespeichert, (höchstens irgendwelche files in form von blobs)...
 

ARadauer

Top Contributor
nein in einer datenbank werden keine bibliotheken gespeichert, was immer du mit bibliotheken meinst...
 

ARadauer

Top Contributor
Ich will das diese gefunden Dokumente als eine Liste zurückgegeben werden und
man diese dann auswählen kann um sie zu öffnen.

Meist du mit Dokumente org.apache.lucene.document.Document Objekte? Ist das nicht eine Sammlung von Werten? das kann man nicht "öffnen"...

ich klink mich hier aus... das muss dir jemand helfen der mit lucene schon gearbeitet hat...
 

TeamBob

Aktives Mitglied
Hi
Also die Sache ist jetzt so weiter alles gelöst und ich habe das alles gemacht.
Jetzt habe ich an meiner Searchmethode gearbeitet und komme jetzt nicht weiter. Wenn ich jetzt das alles mit Jboss deploye dann zeigt er mit ein Fehler an. Ich schätze mal er kommt mit dem umwandeln der Dokumente in eine Arraylist in einer XML Sprache nicht klar oder so...

Fehler
Code:
ERROR [MainDeployer] Could not start deployment: file:/C:/Users/dnuss/Programme/jboss-4.2.3.GA/server/default/tmp/deploy/tmp1844kmm.ear-contents/kmm-ws.war
java.lang.IllegalStateException: Cannot build JAXB context
	at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder.createJAXBContext(JAXWSMetaDataBuilder.java:955)
	at org.jboss.ws.metadata.builder.jaxws.JAXWSWebServiceMetaDataBuilder.buildWebServiceMetaData(JAXWSWebServiceMetaDataBuilder.java:156)
	at org.jboss.ws.metadata.builder.jaxws.JAXWSServerMetaDataBuilder.setupProviderOrWebService(JAXWSServerMetaDataBuilder.java:52)
	at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderJSE.buildMetaData(JAXWSMetaDataBuilderJSE.java:63)
	at org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect.create(UnifiedMetaDataDeploymentAspect.java:66)
	at org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl.deploy(DeploymentAspectManagerImpl.java:118)
	at org.jboss.wsf.container.jboss42.ArchiveDeployerHook.deploy(ArchiveDeployerHook.java:97)
	at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:90)
	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
......
......
......

Webservice

Code:
package web.service;


import java.util.List;

import javax.ejb.EJB;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.naming.InitialContext;


import ejb.search.*;
import persistence.hibernate.entities.Document;



@WebService(name = "SearchService", serviceName = "SearchService", targetNamespace = "http://www.test.de")
@SOAPBinding(style = SOAPBinding.Style.RPC) ////Kommunikation über SOAP prozedurorientiert
public class WebServiceSearch {

@EJB
SearchLocal searchBean;

 SearchLocal getSearchBean() {

	if (searchBean == null) {
			
		try {
			searchBean = (SearchLocal) new InitialContext()
			.lookup("java:comp/env/ejb/SearchEJB");
			} catch (Exception a) {
				throw new RuntimeException(a);
			}
		}
		return searchBean;
	}	
 
 
//@WebMethod
 	//public java.util.ArrayList<String> getItems(java.lang.String searchTerm) {
   // new java.util.ArrayList<String>();
 
@WebMethod
public void createIndex ()
{ try {
	getSearchBean().createIndex();
} catch (Exception e) {
	e.printStackTrace();
}
}

@WebMethod
 	public Document[] searchInDocumentFieldsForSimpleSearch(final String and_search, final Long userId)
 		{
		List<Document> documents=
		getSearchBean().searchInDocumentFieldsForSimpleSearch(and_search, userId);
		return documents.toArray(new Document[documents.size()]);
 		}
}


Das hier ist die Dokument Klasse aber nur der Anfang weil die sehr lang ist...

Code:
@Entity
@Indexed(index = Item.INDEXNAME)
@Table(name = "DOCUMENT")
@PrimaryKeyJoinColumn(name = "itemid")
@OnDelete(action = OnDeleteAction.CASCADE)
public class Document extends Item {

	private static final long serialVersionUID = 4383112294280993163L;

	@Embeddable
	static public class NumberingFormat implements Serializable {

		private static final long serialVersionUID = -6523464405795614043L;

		private String format;

		private Integer sequenceId;

		@Column(name = "format", length = 100, nullable = true)
		public String getFormat() {
			return format;
		}

		public void setFormat(String format) {
			this.format = format;
		}

		@Column(name = "sequenceId", nullable = true)
		public Integer getSequenceId() {
			return sequenceId;
		}

		public void setSequenceId(Integer sequenceId) {
			this.sequenceId = sequenceId;
		}

	}

	private String name;
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Daten in MySQL-Datenbank schreiben Allgemeine Java-Themen 13
P MYSQL Datenbank Dump einspielen Allgemeine Java-Themen 1
E MySQL-Datenbank <-> HashMap/TreeMap Allgemeine Java-Themen 1
H Daten aus MySQL datenbank auslesen und in ArrayList stecken Allgemeine Java-Themen 8
G Daten aus MySQL-Datenbank an JFreeChart übergeben Allgemeine Java-Themen 3
N MySQL mit Strings Allgemeine Java-Themen 3
B Schnittstelle zwischen MySQL und Apache Allgemeine Java-Themen 8
C MySQL Tabellen sortieren. Allgemeine Java-Themen 33
O Zugriff auf mySQL ohne JDBC Allgemeine Java-Themen 3
V Maven Maven ClassNotFoundException MySQL JDBC Treiber Allgemeine Java-Themen 1
G Eclipse Java findet MySQL Driver nach export nicht mehr Allgemeine Java-Themen 2
R Praktikums Projekt Java vs MySQL Allgemeine Java-Themen 91
C JPA und mysql Allgemeine Java-Themen 3
D falsche Zeile aus JTable in MySQL gelöscht Allgemeine Java-Themen 6
J javaFX mySQL Allgemeine Java-Themen 3
B MySQL Eintrag erstellen Allgemeine Java-Themen 3
F eclipse, texlipse, R und mysql Allgemeine Java-Themen 2
S WebApp MySQL Connection Loss Allgemeine Java-Themen 10
H Tablemodel und mysql Allgemeine Java-Themen 8
T Datumsformat für MySQL Allgemeine Java-Themen 4
S ANT mysql treiber einbinden Allgemeine Java-Themen 4
F Ärger mit mySQL Allgemeine Java-Themen 3
S Java Methode um Daten aus MySQL auslesen Allgemeine Java-Themen 11
S Excel in mySQL importieren Allgemeine Java-Themen 3
neurox Tutorial: Hibernate mit MySQL (erste Schritte) Allgemeine Java-Themen 34
M JAVA Timestamp aus Mysql Allgemeine Java-Themen 4
hdi Applet, JavaScript, PHP, mySQL -> Was brauch ich? Allgemeine Java-Themen 3
G mySQL und JTable Allgemeine Java-Themen 7
G MySql+Java+backup Allgemeine Java-Themen 23
I JAVA+ MySQL locales statement? Allgemeine Java-Themen 2
B Importieren in MySQL mit Java-Programm Allgemeine Java-Themen 15
G mysql datum umwandeln mittels jsp Allgemeine Java-Themen 10
G Mysql --> Datumsformat Allgemeine Java-Themen 7
C Umlaute mysql Allgemeine Java-Themen 3
V MySql db unter Java zum laufen bringen. Allgemeine Java-Themen 2
C Rechte unter WinXP, MySQL-Server per Runtime herunterfahren? Allgemeine Java-Themen 6
G Datum in MySQL Timestamp umwandeln? Allgemeine Java-Themen 10
G MySQL-Problem (LOAD DATA INFILE) Allgemeine Java-Themen 5
F Threadsicherheit von MySQL-Verbindungen Allgemeine Java-Themen 8
8u3631984 Bilder in Datenbank speichern - sinnvoll Allgemeine Java-Themen 5
S Kochbuch bzw. Rezepte-Datenbank app mit Swing..? Allgemeine Java-Themen 5
N relativier Pfad für sqlite-Datenbank in Gradle/IntelliJ Allgemeine Java-Themen 2
Avalon Data Transfer Objekte aus Datenbank erstellen Allgemeine Java-Themen 8
B API Token in Datenbank ablegen? Allgemeine Java-Themen 9
S Einzigartigen String in Datenbank finden und löschen Allgemeine Java-Themen 23
P Datenbank-MiniGUI fügt keine Daten ein Allgemeine Java-Themen 4
Q-bert Strings aus der JList in eine Datenbank speichern Allgemeine Java-Themen 1
Meeresgott Kapselung Tabellen der Datenbank erzeugen. Allgemeine Java-Themen 7
looparda Unit Test - Abgänigkeit zur Datenbank isolieren Allgemeine Java-Themen 3
T Datentypen MNIST Datenbank auslesen (.gz) Allgemeine Java-Themen 0
O 2 Combobox in Abhängigkeit von der 1 Combobox (Datenbank) Allgemeine Java-Themen 1
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
F OOP Datenbank-Klasse überall verfübar Allgemeine Java-Themen 2
R Test Umgebung für Datenbank erstellen, was braucht es? Allgemeine Java-Themen 14
D OOP Design Pattern für GUI - Datenbank Anwendung Allgemeine Java-Themen 1
T Zugriff auf Datenbank Allgemeine Java-Themen 1
G Datenbank von nöten? Allgemeine Java-Themen 7
3 Backup von h2-Datenbank-Datei erstellen Allgemeine Java-Themen 6
S Java DateTime für Datenbank Allgemeine Java-Themen 4
F Alternative sun.jdbc.odbc.JdbcOdbcDriver (Access Datenbank) Allgemeine Java-Themen 2
vandread Daten verschlüsseln mit Java oder Datenbank Allgemeine Java-Themen 15
M SQL Datenbank in JAVA Projekt Allgemeine Java-Themen 3
P iTunes Datenbank manipulieren Allgemeine Java-Themen 2
A Ausführbare Java-Datei aus Projekt und Datenbank Allgemeine Java-Themen 3
T Datenbank oder Filesystem? (E-Learning) Allgemeine Java-Themen 2
N Datei aus Datenbank öffnen mit Standardanwendung Allgemeine Java-Themen 2
J Datenbank und OO-Aufsatz Allgemeine Java-Themen 9
M BufferedReader: Vom Logfile zur Datenbank Allgemeine Java-Themen 6
P Klassen Template-Klasse für Datenbank-Abfragen erstellen Allgemeine Java-Themen 2
E JAVA Alternativen zur Datenbank? Allgemeine Java-Themen 7
Dit_ GeoKoordinaten Datenbank (nicht nur Städte) Allgemeine Java-Themen 6
J Progress Bar während Datenbank Erstellung Allgemeine Java-Themen 2
C Datenbank - Textfiles - Anderes Allgemeine Java-Themen 34
T Datenbank lässt sich un Entwicklungsumgebung öffnen, aus .jar aber nicht Allgemeine Java-Themen 9
G JNDI/LDAP/Datenbank Allgemeine Java-Themen 2
Meldanor Speichern der Datenbank - Lohnen sich mehrere Threads? Allgemeine Java-Themen 2
hdi [Free Download] Film-Datenbank Allgemeine Java-Themen 30
G Excel-Daten in Datenbank speichern - Problem mit leeren Feldern Allgemeine Java-Themen 7
K von List getSelected auf ResultSet Datenbank löschen Allgemeine Java-Themen 2
C Java Polling, Server Prozedur oder doch Datenbank? Allgemeine Java-Themen 4
H .dbf (IV) Datenbank einlesen Allgemeine Java-Themen 9
D Recipes / Codeschnipsel Datenbank für Java? Allgemeine Java-Themen 3
M Rechenweg in Datenbank speichern und nutzen Allgemeine Java-Themen 6
O viele Datensätze aus Datenbank - Java Heap Space - Excepion Allgemeine Java-Themen 25
E Datenbank/iBatis Fehlermeldung Allgemeine Java-Themen 4
G Datenbank zur laufzeit wechseln Allgemeine Java-Themen 11
N ClassLoader - Laden von Bytecode aus einer Datenbank Allgemeine Java-Themen 6
S Speicherung von Daten: Datenbank(sql) oder xml? Allgemeine Java-Themen 9
F Vector in eine Datenbank speichern? Allgemeine Java-Themen 3
A Problem beim Starten der H2-Datenbank Allgemeine Java-Themen 4
S Datenbank Abfragen mit großen Datenmengen Allgemeine Java-Themen 22
G Datenbank-Anwendung schnell erstellen. Allgemeine Java-Themen 7
P Datenbank Tabelle spiegeln Allgemeine Java-Themen 22
P Zugriff auf die DatenBank Allgemeine Java-Themen 44
P Timestamp in eine Firebird-Datenbank einfügen Allgemeine Java-Themen 6
P Java Acces Datenbank Problem ! (Brauche eine Abfrage) Allgemeine Java-Themen 5
B Datenbank anlegen Allgemeine Java-Themen 10
N Datenbank vs. Filesystem Allgemeine Java-Themen 5
F datenbank oder csv etc Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben