diff -r 85754d201c93 -r 7cf0cbef2936 java/SpringDemo1/SpringDemo1-ejb/src/java/cz/frantovo/springDemo1/dao/KnihaDAOjdbc.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/SpringDemo1/SpringDemo1-ejb/src/java/cz/frantovo/springDemo1/dao/KnihaDAOjdbc.java Wed Feb 10 23:11:38 2010 +0100 @@ -0,0 +1,78 @@ +package cz.frantovo.springDemo1.dao; + +import cz.frantovo.springDemo1.KnihaDAOjdbcRemote; +import cz.frantovo.springDemo1.dto.Kniha; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.Collection; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.annotation.Resource; +import javax.ejb.Stateless; +import javax.sql.DataSource; + +/** + * + * @author fiki + */ +@Stateless +public class KnihaDAOjdbc implements KnihaDAOjdbcRemote { + + @Resource(mappedName = "jdbc/sqlVyuka/piskoviste") + private DataSource dataSource; + private static final Logger log = Logger.getLogger(KnihaDAOjdbc.class.getSimpleName()); + + public Collection getKnihy() { + Collection vysledek = new ArrayList(); + Connection db = null; + PreparedStatement ps = null; + ResultSet rs = null; + try { + db = dataSource.getConnection(); + ps = db.prepareStatement("SELECT * FROM sbirka.kniha;"); + rs = ps.executeQuery(); + while (rs.next()) { + Kniha k = new Kniha(); + k.setNazev(rs.getString("nazev")); + k.setAutor(rs.getInt("autor")); + k.setDatumAktualizace(rs.getDate("datum")); + k.setId(rs.getInt("id")); + k.setIsbn(rs.getString("isbn")); + k.setPocetStran(rs.getInt("pocet_stran")); + k.setRokVydani(rs.getInt("rok_vydani")); + vysledek.add(k); + } + } catch (Exception e) { + log.log(Level.SEVERE, "Chyba načítání knížek.", e); + return null; + } finally { + zavri(db, ps, rs); + } + + return vysledek; + } + + protected static void zavri(Connection spojeni, Statement prikaz, ResultSet vysledek) { + if (vysledek != null) { + try { + vysledek.close(); + } catch (Exception e) { + } + } + if (prikaz != null) { + try { + prikaz.close(); + } catch (Exception e) { + } + } + if (spojeni != null) { + try { + spojeni.close(); + } catch (Exception e) { + } + } + } +}