java/SpringDemo1/SpringDemo1-ejb/src/java/cz/frantovo/springDemo1/dao/KnihaDAOjdbc.java
author František Kučera <franta-hg@frantovo.cz>
Wed, 10 Feb 2010 23:11:38 +0100
changeset 5 7cf0cbef2936
permissions -rw-r--r--
DAO v prostém JDBC – pro srovnání.
     1 package cz.frantovo.springDemo1.dao;
     2 
     3 import cz.frantovo.springDemo1.KnihaDAOjdbcRemote;
     4 import cz.frantovo.springDemo1.dto.Kniha;
     5 import java.sql.Connection;
     6 import java.sql.PreparedStatement;
     7 import java.sql.ResultSet;
     8 import java.sql.Statement;
     9 import java.util.ArrayList;
    10 import java.util.Collection;
    11 import java.util.logging.Level;
    12 import java.util.logging.Logger;
    13 import javax.annotation.Resource;
    14 import javax.ejb.Stateless;
    15 import javax.sql.DataSource;
    16 
    17 /**
    18  *
    19  * @author fiki
    20  */
    21 @Stateless
    22 public class KnihaDAOjdbc implements KnihaDAOjdbcRemote {
    23 
    24     @Resource(mappedName = "jdbc/sqlVyuka/piskoviste")
    25     private DataSource dataSource;
    26     private static final Logger log = Logger.getLogger(KnihaDAOjdbc.class.getSimpleName());
    27 
    28     public Collection<Kniha> getKnihy() {
    29 	Collection<Kniha> vysledek = new ArrayList<Kniha>();
    30 	Connection db = null;
    31 	PreparedStatement ps = null;
    32 	ResultSet rs = null;
    33 	try {
    34 	    db = dataSource.getConnection();
    35 	    ps = db.prepareStatement("SELECT * FROM sbirka.kniha;");
    36 	    rs = ps.executeQuery();
    37 	    while (rs.next()) {
    38 		Kniha k = new Kniha();
    39 		k.setNazev(rs.getString("nazev"));
    40 		k.setAutor(rs.getInt("autor"));
    41 		k.setDatumAktualizace(rs.getDate("datum"));
    42 		k.setId(rs.getInt("id"));
    43 		k.setIsbn(rs.getString("isbn"));
    44 		k.setPocetStran(rs.getInt("pocet_stran"));
    45 		k.setRokVydani(rs.getInt("rok_vydani"));
    46 		vysledek.add(k);
    47 	    }
    48 	} catch (Exception e) {
    49 	    log.log(Level.SEVERE, "Chyba načítání knížek.", e);
    50 	    return null;
    51 	} finally {
    52 	    zavri(db, ps, rs);
    53 	}
    54 
    55 	return vysledek;
    56     }
    57 
    58     protected static void zavri(Connection spojeni, Statement prikaz, ResultSet vysledek) {
    59 	if (vysledek != null) {
    60 	    try {
    61 		vysledek.close();
    62 	    } catch (Exception e) {
    63 	    }
    64 	}
    65 	if (prikaz != null) {
    66 	    try {
    67 		prikaz.close();
    68 	    } catch (Exception e) {
    69 	    }
    70 	}
    71 	if (spojeni != null) {
    72 	    try {
    73 		spojeni.close();
    74 	    } catch (Exception e) {
    75 	    }
    76 	}
    77     }
    78 }