# Java Stored Procedures



## MBD (21. Jul 2011)

Hallo!

Ich schreibe gerade meine Bachelorarbeit über eine Applikation, die sich mit einer MySQL-Datenbank verbindet.
Jetzt ist die Frage, ob bzw. wie es mögich ist, Java-Funktionalität auch in die Datenbank zu schreiben. Ziel der ganzen Aktion sollte es sein, dass man bei späteren Änderungen am Programm sich nur noch mit der Datenbank beschäfftigen muss und nicht mehr am Java-Teil herumdoktern muss. 
Ich hab jetzt schon einiges über Java Stored Procedures gelesen, weiß aber nicht, ob ich damit auf dem richtigen Weg bin. 

Wäre nett, wenn mir jemand einen Rat geben könnte.

Gruß,
M.B.D.


----------



## rhoermann (21. Jul 2011)

Mit Java kannst du zB unter Oracle arbeiten, aber MySql hat eine eigene Syntax für Stored procedures. Aber klar kannst du damit Logiken abbilden und darauf mit einem Java Client zugreifen, siehe : MySQL :: MySQL 5.0 Reference Manual :: 19.3.5.1 Basic JDBC Concepts

Bei Verwendung von Stored Procedures bindest du dich allerdings auch an die Datenbank.


----------



## MBD (21. Jul 2011)

okay danke!
ich suche aber nach einer möglichkeit, im projekt vorkommende java-methoden oder ganze klassen in eine datenbank zu schreiben. weil stored procedures enthalten in alles beispielen sql-abfragen. darum gehts aber eigentlic gar nicht. so viele abfragen hab ich gar nicht im code stehen.
ganz grob und etwas übertrieben gesagt versuche ich quasi die main-klasse im java-projekt stehen zu haben und von dort aus auf alle anderen teile des projekts zuzugreifen, die jedoch in der datenbank stehen sollen.

sorry wenn das etwas wirr klingt.


----------



## rhoermann (21. Jul 2011)

Ist schon klar was du willst, aber das ist mit MySql so nicht machbar. Mit Oracle kannst du das beinahe so machen, weil du dort ganze jars in die DB laden kannst und dann nur noch "Wrapper Prozeduren" und statische Methoden für die Funktionsaufrufe brauchst... (das ist aber ein anderes Thema).

Mit der Derby besteht auch die Möglichkeit Java Prozeduren aufzurufen und PostgreSql ermöglicht dir zumindest mit Java Syntax zu arbeiten.

Aber es hängt schon sehr stark von den verwendeten APIs ab und von deinem Programmaufbau, ob das überhaupt möglich ist. Eine Datenbank deckt eben einen anderen Anwendungsfall ab als eine reine Programmiersprache.


----------



## maki (21. Jul 2011)

> Ziel der ganzen Aktion sollte es sein, dass man bei späteren Änderungen am Programm sich nur noch mit der Datenbank beschäfftigen muss und nicht mehr am Java-Teil herumdoktern muss.


Seltsames Ziel, jetzt musst du halt die Jars im Dateisystem austauschen, stattdessen willst du lieber an der DB rumdoktorn...


----------

