Zugriffsberechtigte über ein JDBCRealm aus MySQL-Datenbank laden

Im Beitrag [post id=4748]Sicherheit durch Zugriffsbeschränkungen in JEE Web-Anwendungen[/post] wurde gezeigt, wie man bestimmte Seiten nur für gewisse Benutzer und Benutzergruppen sichtbar macht. Allerdings musste man diese Benutzer direkt in der Konfigurationsdatei vom Apache Tomcat 7 Application Server eintragen. Das ist nicht besonders flexibel. Deswegen werden wir im nächsten Schritt die Zugriffsberechtigungen aus einer MySQL-Datenbank holen. Dafür können wir unsere bestehende JDBC-Ressource jdbc/foo4 (aus dem Beispiel [post id=4709]JDBC-Ressource über JNDI referenzieren und mit Tomcat verwenden[/post]) benutzen.
Zugriffsberechtigte über ein JDBCRealm aus MySQL-Datenbank laden weiterlesen

JDBC-Ressource aus dem Context mit JNDI verwenden

Wer sich [post id=4709]JDBC-Ressource über JNDI referenzieren und mit Tomcat verwenden[/post] und [post id=4724]JDBC Datenbank-Anbindung mit Properties für MySQL[/post] angeschaut hat, der wird sich über diesen Beitrag freuen. Wir werden jetzt nämlich unsere mühevoll angelegte JNDI-Ressource verwenden, um mit unserer MySQL-Datenbank eine Verbindung herzustellen (getestet mit Apache Tomcat 7).
JDBC-Ressource aus dem Context mit JNDI verwenden weiterlesen

JDBC Datenbank-Anbindung mit Properties für MySQL

In meinem Blog habe ich bereits gezeigt, wie man eine Verbindung zu einer MySQL-Datenbank via JDBC aufbauen kann (siehe [post id=3219]Connecting to a MySQL Database with Java (JDBC)[/post]).

In dem dort vorgestelltem Code-Beispiel wurden die Datenbankdetails (Hostname, Port, Datenbankname, Benutzername und Passwort) fest im Code eingetragen. Möchte man eine andere Datenbank verwenden, muss man den Code ändern und neu kompilieren. Das ist nicht sehr stilvoll. Schöner wäre es, wenn diese Infromationen aus einer externen Konfigurationsdatei geladen werden, so dass man nur diese Datei mit einem Texteditor öffnen muss, um die Daten zu ändern. Für diesen Zweck lassen sich Properties einsetzen.

Wie das geht, zeige ich in folgendem Beispiel.
JDBC Datenbank-Anbindung mit Properties für MySQL weiterlesen

JDBC-Ressource über JNDI referenzieren und mit Tomcat verwenden

Nachdem ich in [post id=4681]JNDI Ressourcen anlegen und benutzen[/post] gezeigt habe, wie man eine Zeichenkette über das JNDI verfügbar machen kann, ist es an der Zeit, sich etwas interessanteren Dingen zu widmen.

Ich hatte bereits erwähnt, dass man Datenbankverbindungen über JDBC ebenfalls mit JNDI referenzieren kann. Wie das geht, möchte ich eben am Beispiel einer MySQL-Datenbank zeigen, welche über einen Apache Tomcat 7 Application-Server angesprochen werden soll.
JDBC-Ressource über JNDI referenzieren und mit Tomcat verwenden weiterlesen

MySQL NOW() equivalent in Java for prepared statements

If you are used to MySQL then you probably know the MySQL function NOW() which inserts the current date and time in a MySQL query. But if you use JDBC and prepared statements, then you can reconstruct this function with a GregorianCalendar (which is the successor of Date):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void insertArticle(Article article) throws SQLException
{
  //query = "INSERT INTO articles(title,content,date) VALUES (?,?,NOW())";
  query = "INSERT INTO articles(title,content,date) VALUES (?,?,?)";
 
  statement = connection.prepareStatement(query);
 
  statement.setString(1, article.getTitle());
  statement.setString(2, article.getContent());
  statement.setTimestamp(3, new Timestamp(new GregorianCalendar().getTimeInMillis()));
 
  logger.info(statement);
  statement.executeUpdate();
}

Connecting to a MySQL Database with Java (JDBC)

In the beginning of my study time I’ve programmed a MySQL connection in Java for a music collection. After 2 years now I have made a remake of [post id=816]this code[/post] to show how to use the Java Database Connectivity (JDBC). All you need is mysql-connector-java-5.0.8-bin.jar.

I’ve written a small sample for the connection with a WordPress database.
Connecting to a MySQL Database with Java (JDBC) weiterlesen