franta-hg@5: package cz.frantovo.springDemo1.dao; franta-hg@5: franta-hg@5: import cz.frantovo.springDemo1.KnihaDAOjdbcRemote; franta-hg@5: import cz.frantovo.springDemo1.dto.Kniha; franta-hg@5: import java.sql.Connection; franta-hg@5: import java.sql.PreparedStatement; franta-hg@5: import java.sql.ResultSet; franta-hg@5: import java.sql.Statement; franta-hg@5: import java.util.ArrayList; franta-hg@5: import java.util.Collection; franta-hg@5: import java.util.logging.Level; franta-hg@5: import java.util.logging.Logger; franta-hg@5: import javax.annotation.Resource; franta-hg@5: import javax.ejb.Stateless; franta-hg@5: import javax.sql.DataSource; franta-hg@5: franta-hg@5: /** franta-hg@5: * franta-hg@5: * @author fiki franta-hg@5: */ franta-hg@5: @Stateless franta-hg@5: public class KnihaDAOjdbc implements KnihaDAOjdbcRemote { franta-hg@5: franta-hg@5: @Resource(mappedName = "jdbc/sqlVyuka/piskoviste") franta-hg@5: private DataSource dataSource; franta-hg@5: private static final Logger log = Logger.getLogger(KnihaDAOjdbc.class.getSimpleName()); franta-hg@5: franta-hg@5: public Collection getKnihy() { franta-hg@5: Collection vysledek = new ArrayList(); franta-hg@5: Connection db = null; franta-hg@5: PreparedStatement ps = null; franta-hg@5: ResultSet rs = null; franta-hg@5: try { franta-hg@5: db = dataSource.getConnection(); franta-hg@5: ps = db.prepareStatement("SELECT * FROM sbirka.kniha;"); franta-hg@5: rs = ps.executeQuery(); franta-hg@5: while (rs.next()) { franta-hg@5: Kniha k = new Kniha(); franta-hg@5: k.setNazev(rs.getString("nazev")); franta-hg@5: k.setAutor(rs.getInt("autor")); franta-hg@5: k.setDatumAktualizace(rs.getDate("datum")); franta-hg@5: k.setId(rs.getInt("id")); franta-hg@5: k.setIsbn(rs.getString("isbn")); franta-hg@5: k.setPocetStran(rs.getInt("pocet_stran")); franta-hg@5: k.setRokVydani(rs.getInt("rok_vydani")); franta-hg@5: vysledek.add(k); franta-hg@5: } franta-hg@5: } catch (Exception e) { franta-hg@5: log.log(Level.SEVERE, "Chyba načítání knížek.", e); franta-hg@5: return null; franta-hg@5: } finally { franta-hg@5: zavri(db, ps, rs); franta-hg@5: } franta-hg@5: franta-hg@5: return vysledek; franta-hg@5: } franta-hg@5: franta-hg@5: protected static void zavri(Connection spojeni, Statement prikaz, ResultSet vysledek) { franta-hg@5: if (vysledek != null) { franta-hg@5: try { franta-hg@5: vysledek.close(); franta-hg@5: } catch (Exception e) { franta-hg@5: } franta-hg@5: } franta-hg@5: if (prikaz != null) { franta-hg@5: try { franta-hg@5: prikaz.close(); franta-hg@5: } catch (Exception e) { franta-hg@5: } franta-hg@5: } franta-hg@5: if (spojeni != null) { franta-hg@5: try { franta-hg@5: spojeni.close(); franta-hg@5: } catch (Exception e) { franta-hg@5: } franta-hg@5: } franta-hg@5: } franta-hg@5: }