Osobne do zblbnuti delam toto.
/**
* get index tables list
*/
public ResultList getIndexTablesList(IndexTableAF form) {
ResultList result = new ResultList();
Session session = null;
try {
session = this.sessionFactory.openSession();
// zjisti a nastavi paging control object
Criteria criteriasCount =
session.createCriteria(IndexTable.class)
.setProjection(Projections.count("oid"));
Integer count = ((Integer)
criteriasCount.uniqueResult()).intValue();
result.getPagingControl().setCount(count.longValue());
result.getPagingControl().setSelectedPage(form.getSelectedPage());
result.getPagingControl().setInterval(form.getInterval());
result.getPagingControl().recount();
ArrayList list = (ArrayList)
session.createCriteria(IndexTable.class)
.setFirstResult((((int) form.getSelectedPage() - 1) *
(int) form.getInterval()))
.setMaxResults((int) form.getInterval())
.list();
if(list != null) result.setResultList(list);
} catch (Exception ex) {
logger.error("getIndexTablesList [Exception]: "
+ ex.getLocalizedMessage());
} finally {
session.close();
}
return result;
}
Muj ResultList obsahuje paging control ktery na zaklade poctu objektu
celkem implementuje strankovani. zjisti ktera je predchozi, nasledujici
stranka, prvni a posledni, ... Tim jsem se okamzite zbavil urcite casti
kodu.
Pouzivam spring a hibernate. Tedy ne klasicke JDBC, ale Tvuj kod ze
zmineneho clanku je presnou odpovedi.
Diky za "nakopnuti"
Pet
On Thu, 18 Jan 2007 10:45:48 +0100, Petr Burdik <[EMAIL PROTECTED]> wrote:
Zrovna jsem aniz bych tento konkretni blog cetl premyslel o tomto
reseni. Kazdopadne podle blogu davas prednost asi AspectJ, je to tak?
Pet
On Thu, 18 Jan 2007 10:41:43 +0100, Roman Pichlik
<[EMAIL PROTECTED]> wrote:
aha, repetivni kod se resi pres navrhovy vzor Template method viz
clanek Návrhový vzor Template method a jeho aplikace v prostředí JDBC
http://www.sweb.cz/pichlik/archive/2006_01_08_archive.html#113713436036810797
AOP by melo smysl napriklad pro kontrolu, ze vsechny casti aplikace
pouzivaji jednu vrstvu pro prisup k DB a zadna nejde oklikou napriklad
pres JDBC.
Petr Burdik napsal(a):
Sveho casu jsme to tu propirali :)
Vysel z toho podobny paskvil jako tento ( v naznaku )
try {
sql dotaz
} catch (Exception ex) {
} finally {
try {
close connection
} catch (Exception ex) {
} finally {
tusim ze jeste jednou close
}
}
Presne takto to nepouzivam, nemam ten vnoreny try/catch blok, ale
situace me donutila ze tam asi bude muset byt. ale nebavi me to psat
porad dokola tak hledam zpusob jak si praci ulehcit :) a napadlo me
aspektove programovani. Pokud najdete lepsi zpusob budu rad. Ale je to
fakt pruda t tady tusim jedno z mist kde to pouzit.
Pet
On Thu, 18 Jan 2007 10:17:53 +0100, Roman Pichlik
<[EMAIL PROTECTED]> wrote:
aktualne jsem hooodne nastvany na zkusob jak se pracuje s obsluhou
connection i u tahani dat pres hibernate. asi vime vsichni o co jde
:).
tak to teda netusim :), muzete se podelit?
--Using Opera's revolutionary e-mail client:
http://www.opera.com/mail/
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/