Databázová vrstva: vykonávání příkazů a ukládání a načítání historie.
1 package cz.frantovo.sql.vyuka.dao;
3 import cz.frantovo.superDAO.SuperDAO;
4 import java.sql.Connection;
5 import java.sql.SQLException;
6 import java.util.logging.Level;
7 import javax.naming.InitialContext;
8 import javax.naming.NamingException;
9 import javax.sql.DataSource;
15 public class VyukaSuperDAO extends SuperDAO {
17 protected InitialContext kontext = null;
19 protected enum DATABAZE {
21 /** Databáze aplikace – historie, nastavení. */
23 /** Databáze, na které se spouštějí příkazy uživatelů. */
27 public VyukaSuperDAO() {
29 kontext = new InitialContext();
30 } catch (NamingException ex) {
31 log.log(Level.SEVERE, "Chyba při inicializaci kontextu", ex);
36 * @param databaze Která databáze (aplikace = historie a nastavení | pískoviště = příkazy uživatele)
37 * @return Databázové spojení
39 protected Connection getSpojeni(DATABAZE databaze) {
40 if (databaze == null) {
41 databaze = DATABAZE.PISKOVISTE;
43 log.log(Level.SEVERE, "DATABAZE:" + String.valueOf(databaze));
44 String jndi = orizniJNDI(getVlastnost(databaze, VyukaSuperDAO.class));
45 DataSource zdroj = null;
47 zdroj = (DataSource) kontext.lookup(jndi);
48 return zdroj.getConnection();
49 } catch (NamingException ex) {
50 log.log(Level.SEVERE, "getSpojeni: lookup", ex);
52 } catch (SQLException ex) {
53 log.log(Level.SEVERE, "getSpojeni: sql", ex);