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