Inicializacia JDBC ovladaca
Martin Kuba
makub na ics.muni.cz
Čtvrtek Duben 2 09:18:30 CEST 2009
Ahoj ve spolek,
ještě bych k tématu poznamenal, že používání DriverManager je od Javy 1.4 zastaralé, viz
http://java.sun.com/javase/6/docs/api/java/sql/DriverManager.html
The DataSource interface, new in the JDBC 2.0 API, provides another way
to connect to a data source. The use of a DataSource object is the preferred
means of connecting to a data source.
Problém s DataSource trochu je, že v JRE není jeho implementace,
tu má dodat výrobce JDBC ovladače.
Jako optimální se mi nyní jeví použít pro přístup k databázi Spring,
protože ten obsahuje různé implementace DataSource, zejména
org.springframework.jdbc.datasource.DriverManagerDataSource,
a tudíž můžu stejný kód používající DataSource použít
jak v desktopové aplikaci bez connection poolingu, tak ve webové aplikaci
s connection poolingem, jenom v konfiguraci měním implementaci DataSource.
S použitím třídy SimpleJdbcTemplate je pak práce s JDBC opravdu
příjemná, mohu doporučit. Vyráběl jsem k tomu onehdy návod, kdyby to někoho
zajímalo, je tady: http://kore.fi.muni.cz:5080/wiki/index.php/Spring_JDBC
Makub
Zdenek Tronicek napsal(a):
> Dobry den,
>
> presne tak. Kdyz napisete do kodu new MyDriver();, tak svazete aplikaci
> s konkretnim driverem. Proto se ustalila konvence, ze driver ma staticky
> inicializator, ktery jej zaregistruje u DriverManager:
>
> public class MyDriver implements Driver {
>
> static {
> DriverManager.registerDriver(new MyDriver());
> }
> ...
> }
>
> Pak staci natahnout tridu driveru do pameti. Bud pres Class.forName()
> nebo nastavenim property jdbc.drivers na prikazove radce.
>
> Z.T.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Science email: makub na ics.muni.cz
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--------------------------------------------------------------
Další informace o konferenci Konference