» »

java, zajem podatkov iz DB

java, zajem podatkov iz DB

l0g1t3ch ::

Ali se da v javi 6 oz. če obstaja kaka knjižica za javo, da bi lahko zajel celo vrstico iz podatkovne baze direktno v hashMap ali vsaj v nek array.

Hvala

infiniteLoop ::

Seveda se da.

JDBC tutorial
Spring JDBC - da ti ni treba pisat ponavljajoce se kode

Verjetno bi rad nekaj takega.
http://static.springframework.org/sprin...

(se opravicujem ampak ker so v linku oglati oklepaji ne morem narediti povezave)

Ce imas kako dodatno vprasanje kar na plano z njim.
None of us is as dumb as all of us.

l0g1t3ch ::

Tale spring mi zgleda čisti overkill za moje potrebe.
Bom kar sam spisal ustrezno funkcijo, ker vse kar rabim je nekaj podobnega php-jevemu "mysql_fetch_array". Sem mislil, da je kaj podobnega že v standardni javi.

Hvala vseeno

infiniteLoop ::

Kaksne opcije ponuja php res ne vem.

Spring po moje praviloma ni overkill ker lahko uporabis samo tiste module, ki jih dejansko uporabljas. Torej v tvojem primeru recimo samo spring-jdbc, ki zasede ene 300k in nima dependencyjev.

Zdaj ce res rabis to eno in edino funkcijo je menda res brezveze.
Po drugi strani ce pa JDBC uporabljas malo vec, pride zelo prav dejstvo, da ni treba skrbet za pravilno zapiranje result setov, lovljenje 1001 Exceptiona, mapping iz result setov v poljubne objekte itd.

Ce pisem veliko JDBC kode mi precej pomeni ze dejstvo, da mi ni treba pisati znamenitega try-catch-finally-try-catch:
deklariraj result set
try {
    odpri result set
    delaj nekaj
} catch (NekiException ne) {
    handlaj exception
} finally {
    if (result set != null) {
        try {
            zapri result set
        } catch (ZopetNekiException) {
            handlaj ta exception
        }
    }
}


Zdaj ce to napises enkrat in klices vsepovsod iz svoje kode je OK. Ko pa pises enak blok 10ic, se pa ze sprasujes kaj za vraga pocnes...
None of us is as dumb as all of us.

Tr0n ::

Priporocam, da si pogledas Hibernate za Javo, API namenjen izkljucno objektni obdelavi DB podatkov. Tega uporablja delno tudi Spring DB del, pa tudi precej drugih Java based APIjev.

Podatke v posameznih tabelah mapiras z objekti in te ne zanimajo specifike SQL querijev in sploh DBja kot taksnega. Zraven dobis tudi connection pool, lazje handlanje transakcij pa se stevilne druge "bonboncke". ;)

Zgodovina sprememb…

  • spremenilo: Tr0n ()

l0g1t3ch ::

Hvala vama, bom še malo pregledal zadeve.

l0g1t3ch ::

Še eno vprašanje na hitro.
Če več inštanc programa dostopa do iste baze in vse inštance izvajajo samo po en query naenkrat bodisi select, insert ali update potem verjetno tu ne bo težav z konsistentnostjo podatkov ?

BaRtMaN ::

SUPBji že desetletja poznajo transakcije, torej ja.

l0g1t3ch ::

Še eno vprašanje glede preprečevanja sql injection-ov.
Ali prav razumem, da v primeru uporabe PreparedStatement, jdbc driver sam naredi vsa escapanja in tako prepreči razne injection-e ?

V dver primerih pa dinamično sestavljam SQL in tukaj uporabljam navaden Statement, kako pa tu poskrbim za varnost ? Obstaja v javi kaka vgrajena funkcija za to ali jo moram sam napisat ? Katere znake je sploh vse potrebno escapat ?

Sicer ni neke sile pri moji aplikaciji glede varnosti, me pa vseeno zanima vsaj neka osnova.

DavidJ ::

> Ali prav razumem, da v primeru uporabe PreparedStatement, jdbc
> driver sam naredi vsa escapanja in tako prepreči razne injection-e ?

Jp.

> V dver primerih pa dinamično sestavljam SQL in tukaj uporabljam
> navaden Statement, kako pa tu poskrbim za varnost ?

Kako dinamično sestaviš stavek? Pokazi. Naceloma se da vsako stvari narest s prepared statementi.
"Do, or do not. There is no 'try'. "
- Yoda ('The Empire Strikes Back')

l0g1t3ch ::

V WHERE delu imam variabilno število polj, ki so med seboj vezani različno včasih OR včasih AND. Potem pa na koncu včasih pride še ORDER BY in LIMIT.
Ubistvu se lahko 2 stavka povsem razlikujeta.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

java / mysql / počasne poizvedbe

Oddelek: Programiranje
5758 (687) BRBR
»

Java - uvoz XML in izvoz v MySQL pomoč

Oddelek: Programiranje
372909 (2246) igor0203
»

tomcat in datasource

Oddelek: Programiranje
132030 (1787) infiniteLoop
»

[Java] Evidenca delovnega časa - Java v navezi z Accessom

Oddelek: Programiranje
393295 (2515) c0dehunter
»

java in zapis v podatkovno bazo

Oddelek: Programiranje
72036 (1904) jogurtTM

Več podobnih tem