MySQL TIMESTAMP in JAVA Date umwandeln (und umgekehrt)

Posted: Januar 28th, 2009 | Filed under: Programmieren | Tags: , , , , , | 3 Comments »

Oft ist beim entwickeln von Java basierten Webanwendungen so dass man Daten in einer Datenbank über eine Objekt abbilden will. Zum Beispiel bei einem Gästebucheintrag.

Da MySQL und JAVA mit unterschiedlichen Datentypen arbeiten kommt es oft zu Problemen. Wie bilde ich zum Beispeil einen MySQL Timestamp über ein Java Date ab? Aus diesem Grund habe ich mir zwei kleine Helfer Methode geschrieben die dieses Problem für mich lösen soll.


  public Collection<Eintrag> getAllEintraege(){
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    String query = "SELECT ID, NAME, EMAIL, TEXT, DATEANDTIME FROM GAESTEBUCH";
    
    Collection<Eintrag> eintraege = new ArrayList<Eintrag>();
    
    try {
      connection = GenericDataSourceFactory.getDataSource().getConnection();
      preparedStatement = connection.prepareStatement(query);
      resultSet = preparedStatement.executeQuery();
      while(resultSet.next()){
        Eintrag eintrag = new Eintrag();
        
        eintrag.setInt(resultSet.getInt(1));
        eintrag.setName(resultSet.getString(2));
        eintrag.setEmail(resultSet.getString(3));
        eintrag.setText(resultSet.getString(4));
        eintrag.setDate(sqlTimestampToDate(resultSet.getTimestamp(5)));
        
        eintraege.add(eintrag);
      }
    catch (SQLException e) {
      e.printStackTrace();
    }finally {
      closeConnections(connection, preparedStatement, resultSet);
    }
    return eintraege;
  }

  public Date sqlTimestampToDate(Timestamp timestamp){
    Date date = new Date(timestamp.getTime());
    return date;
  }
  
  public Timestamp dateToSqlTimestamp(Date date){
    Timestamp timestamp = new Timestamp(date.getTime());
    return timestamp;
  }

Java Exceptions Beispiel & Tutorial / Bier trinken

Posted: Januar 22nd, 2009 | Filed under: Programmieren, Tutorials | Tags: , , , , , , | No Comments »

Da Exceptions ein unverzichtbares Thema bezüglich Fehlererkennung und Fehlerbehandlung in Java ist zeige ich euch heute ein kleine und lustige Beispiel-Applikation.

Die Mannschaft eines Fussballvereins betritt nach dem Training die hauseigene Vereinskneipe. Alle sind in Feierstimmung und bestellen sich reichlich Bier :D. Der Wirt schenkt fleißig aus und den Fussballern schmeckts. Doch Plötzlich trifft ein schreckliges Ereignis ein. Das 10 Liter Bierfass ist leer. 🙁

Was das ganze jetzt mit Java zu tun hat? Im Prinzip nichteinmal so wenig. Desswegen habe ich diesen Anwendungsfall auch genommen um euch Java Exceptions zu veranschaulichen.

Beim Ausführen eines Java-Programms können Fehler auftreten, die zum Übersetzungszeitpunkt des Quelltextes nicht absehbar waren. Solche Fehler werden „Laufzeitfehler“ genannt. Tritt ein Laufzeitfehler auf, liegt eine Ausnahmesituation vor, es wird daher eine Ausnahme (Exception) ausgelöst (entweder durch die Java-Laufzeitumgebung oder durch eine entsprechende Codierung des Programmieres). Exceptions sind durch eine Klassenhierarchie in Java abgebildet.

Zuerst erstellen wir uns eine Klasse Bier die durch die Methode trinken den Biervorrat (double vorratInLiter) je nach Menge dezimiert. Reicht der Vorrat jedoch nicht aus soll eine Fehlermeldung, also eine Exception, geworfen werden. Anfangs sollen 5 Liter Bier im Fass vorhanden sein.

Zusätzlich erstellen wir uns eine eigene Exception Klasse mit dem Namen BierProbleme. Diese Exception Klasse erzeugt lediglich die Fehlermeldung „Bier ist leer! Bitte neues Kaufen!!! Rothaus schmeckt am Besten!„.

Desswegen müssen wir nun wenn wir die Methode „trinken“ aufrufen eine eventuell auftretende Fehlermeldung durch eine Try Catch Block abfangen.

Hier der Quellcode des Programmes. Ich habe versucht es so einfach wie möglich zu halten. 😀

Bier.java

package Kneipe;

public class Bier {
     
     double vorratInLiter = 5;     
     
     public Bier(){

     }
     
     public void trinken(double literthrows BierProbleme{
          if (vorratInLiter >= liter){
               // Alles Prima, Bier wird getrunken und vom Vorrat abgezogen
               vorratInLiter = vorratInLiter - liter;
               System.out.println("Es wurden " + liter + " getrunken.");
               System.out.println("Neuer Vorrat: " + vorratInLiter);
          }else{
               // Biervorrat reicht nicht mehr aus, Fehlermeldung wird geworfen
               throw new BierProbleme();
          }
     }
     
     public static void main(String[] args) {
          Bier bier = new Bier();
          try {
               // Fussballmannschaft betritt die Kneipe und trinkt bier
               bier.trinken(0.33);
               bier.trinken(0.5);
               bier.trinken(0.5);
               bier.trinken(0.5);
               bier.trinken(0.33);
               bier.trinken(0.2);
               bier.trinken(1);
               bier.trinken(0.5);
               bier.trinken(0.5);
               bier.trinken(0.33);
               bier.trinken(0.33);
               bier.trinken(0.2);          
               
          
          // Fehler wird abgefangen
          catch (BierProbleme e) {
               e.printStackTrace();
               // Es wird neues Bier nachgekauft! (10 Liter)
               bier.vorratInLiter = bier.vorratInLiter + 10;
               System.out.println();
               System.out.println("Es wurde Bier eingekauft! Neuer Vorrat: " + bier.vorratInLiter + " Liter.");
          }
     }
}

BierProbleme.java

package Kneipe;

public class BierProbleme extends Exception{
     public BierProbleme() {
          super("Bier ist leer! Bitte neues Kaufen!!! Rothaus schmeckt am Besten!");
     }
}

Viel Spaß beim trinken 😉


Java Quellcode in HTML konvertieren

Posted: Januar 16th, 2009 | Filed under: Internet, Programmieren | Tags: , , , , | No Comments »

So, da ich öfters Java Quellcode hier veröffentliche wollte ich euch mal zeigen wie ich diesen für den Blog formatiere. Allen WordPress Plugins zum trotz verwende ich die Lösung der Seite http://www.java2html.de. Es gibt den Online Converter oder das Eclipse Plugin zum herunterladen. Sehr praktisch!

Eclipse Screenshot Quellcodebeispiel

Eclipse Screenshot Quellcodebeispiel

Quellcode einfach kopieren und in den Java2Html Online Converter einfügen!

Java2html Online Konverter

Java2html Online Konverter

Wie das ganze dann im Einsatz aussieht könnt ihr hier sehen. Viel Spaß beim programmieren euer Admin 😀


Java MessageDialog / Messagebox

Posted: Januar 2nd, 2009 | Filed under: Programmieren | Tags: , , , , , , , , | 5 Comments »

Wenn man Grafische Benutzer Oberflächen kurz GUIs in Java realisieren braucht man oft sogenannte MessageBoxen, Popupfenster oder um in der Java Sprache zu bleiben MessageDialoge. Diese können durch eine einfache Zeile umgesetzt werden.  Der MessageDialog kann in 5 verschiedenen Arten mit Hilfe der Klasse JOptionPane dargestellt werden.

  • ohne Icon (JOptionPane.PLAIN_MESSAGE)
  • mit Ausrufezeichen (JOptionPane.CANCEL_OPTION)
  • mit Fragezeichen (JOptionPane.QUESTION_MESSAGE)
  • mit Warnkreuz (JOptionPane.ERROR_MESSAGE)
  • mit Infozeichen (JOptionPane.INFORMATION_MESSAGE)
import javax.swing.JOptionPane;

public class MessageDialog {
     public static void main(String[] args) {
          JOptionPane.showMessageDialog(null,"Kein Icon","Titel", JOptionPane.PLAIN_MESSAGE);
          JOptionPane.showMessageDialog(null,"Infozeichen","Titel", JOptionPane.INFORMATION_MESSAGE);
          JOptionPane.showMessageDialog(null,"Fragezeichen","Titel", JOptionPane.QUESTION_MESSAGE);
          JOptionPane.showMessageDialog(null,"Ausrufezeichen","Titel", JOptionPane.CANCEL_OPTION);
          JOptionPane.showMessageDialog(null,"Kreiz","Titel", JOptionPane.ERROR_MESSAGE);
     }
}
MessageDialog - Ohne Icon

MessageDialog - Ohne Icon

MessageDialog - mit Ausrufezeichen

MessageDialog - mit Ausrufezeichen

MessageDialog - mit Fragezeichen

MessageDialog - mit Fragezeichen

MessageDialog - mit Warnkreuz

MessageDialog - mit Warnkreuz

Hier könnt ihr den Quellcode herunterladen.


Java JMenuBar Beispiel / Tutorial

Posted: Dezember 29th, 2008 | Filed under: Programmieren | Tags: , , , , , , , , , | 10 Comments »

Hallo Leute, heute wollte ich euch zeigen wie man eine Menüleiste in Java realisiert.
Dazu erstellen wir ein JFrame und fügen diesem eine JMenuBar hinzu. Die JMenuBar gibt das Rahmenwerk für das jeweilige JMenu. Ein JMenu repräsentiert ein Navigationspunkt. Um Menüunterpunkte zu erzeugen fügen wir unserem JMenu ein JMenuItem hinzu. So einfach geht’s.

JMenuBar -> JMenu (z.B.: Hilfe) -> JMenuItem (z.B.: Über)

JMenuBarBeispiel Screenshot

Am Besten ihr schaut euch den folgenden Quellcode an.

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class JMenuBarBeispiel implements ActionListener {
     
     JFrame applikation;
     Container container;
     
     // Menüleiste
     JMenuBar menueLeiste;
     
     // Menüleiste Elemente
     JMenu datei;
     JMenu hilfe;
     
     // Datei
     JMenuItem oeffnen;
     JMenuItem beenden;
     
     // Hilfe
     JMenuItem faq;
     JMenuItem about;

     // Textfeld
     JTextArea textarea;
     
     public JMenuBarBeispiel() {
          applikation = new JFrame("JMenuBar Beispiel");
          container = applikation.getContentPane();
          
          // Menüleiste erzeugen
          menueLeiste = new JMenuBar();
          
          // Menüelemente erzeugen
          datei = new JMenu("Datei");
          hilfe = new JMenu("Hilfe");
          
          // Untermenüelemente erzeugen
          oeffnen = new JMenuItem("öffnen");
          oeffnen.addActionListener(this);
          beenden = new JMenuItem("beenden");
          beenden.addActionListener(this);
          faq = new JMenuItem("F.A.Q.");
          faq.addActionListener(this);
          about = new JMenuItem("Über");
          about.addActionListener(this);
          
          // Menüelemente hinzufügen
          menueLeiste.add(datei);
          menueLeiste.add(hilfe);
          
          // Untermenüelemente hinzufügen
          datei.add(oeffnen);
          datei.add(beenden);
          hilfe.add(faq);
          hilfe.add(about);

          // Textfeld erzeugen
          textarea = new JTextArea();          
          
          applikation.add(menueLeiste, BorderLayout.NORTH);
          applikation.add(new JScrollPane(textarea), BorderLayout.CENTER);

          applikation.setSize(400300);
          applikation.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          applikation.setVisible(true);
     }
     
     public void actionPerformed(ActionEvent object) {
          if (object.getSource() == oeffnen){
               System.out.println("öffnen wurde angeklickt");
          }
          if (object.getSource() == beenden){
               System.out.println("beenden wurde angeklickt");
          }
          if (object.getSource() == faq){
               System.out.println("faq wurde angeklickt");
          }
          if (object.getSource() == about){
               System.out.println("über wurde angeklickt");
          }
     }
     
     public static void main(String[] args) {
          new JMenuBarBeispiel();
     }
}

Hier könnt ihr den Quellcode als Textdatei herunterladen.
Viel Spaß beim weiteren Programmieren. Ihr könnt mein Programm natürlich auch gerne als Vorlage verwenden.