Munkavégzés adatbázisból JDBC

JDBC egy Java-alkalmazások, a szabványos módon tárolt adatokat adatbázisban tároljuk. JDBC infrastruktúra működhetne az adatbázisban, akkor külön az adatbázishoz vezető.
Először is, a vezető betöltődik a memóriába, akkor azt rögzíti java.sql.DriverManager osztályban. Java.sql.DriverManager osztály kezeli illesztőprogramok listáját, és biztosítja a statikus módszerek a kapcsolat létrehozásához az adatbázissal.
Statikus módszer getConnection () visszaad egy osztály java.sql.DriverManager java.sql.Connection interfész megvalósítása biztosítja a járművezető. Ez a felület lehetővé teszi, hogy futtatni SQL-nyilatkozatok bármilyen adatbázis (ebben az esetben az, amelyre a vezető regisztrálva).
Ebben a bejegyzésben, nézzük a kölcsönhatás az adatbázis segítségével tiszta JDBC. Mivel a kapcsolatot az adatbázis JDBC-n keresztül költséges, ráadásul minden lekérdezést az adatbázis jön létre egy új kapcsolatot, a változata az alkalmazás az adatbázis látható ez az állás nem jó megoldás, a jelentése az, hogy a munka egy JDBC adatokat a neten, hogy van egy ötlete, hogy milyen lépéseket tesznek, hogy ellenőrizzék a kapcsolat JDBC. mert a hagyományos projektek nem kell közvetlenül dolgozni JDBC tovább, és a következő bejegyzésben, úgy a jobb megoldás, például egy kapcsolat medence.

Kapcsolódó hozzászólások

Az adatbázis szerkezete Warehouse

adatbázis séma

Egyed-kapcsolat diagram vagy egyed-kapcsolat ER:

SQL-script, hogy egy egyszerű adatmodell:

create-data-model.sql

SQL-script az adattartalom:

fill-database.sql

Ha gyorsan hozzon létre egy adatbázist, és feltölti azt a szükséges adatokat, hogy következetesen hajtsa végre a forgatókönyvet create-data-model.sql és töltse database.sql.
Nyisson meg egy parancssort, és típusa:

Miután végrehajtottuk a script kell létrehozni bázis az alábbiak szerint:

A szerkezet a projekt

Osztályok domént. csomag com.dev.blogs.model

Provider.java

Warehouse.java

com.dev.blogs.dao csomag - szintű adatokhoz való hozzáférés.
Add Dao interfészek. hogy magukba az összes szolgáltatás az adatokhoz való hozzáférés az információk tárolására. Ezek az interfészek meghatározása, az összes módszer együttes a kifejezés szifilisz (Create, Read, Update, Delete) - létrehozni, olvasni, módosítani és törölni.

ItemDao.java

WarehouseDao.java

csomag com.dev.blogs.dao.impl
Végrehajtás felületet biztosít hozzáférést adatszolgáltatásokat.

ItemDaoImpl.java

WarehouseDaoImpl.java

A hátránya ennek a kódot, hogy a kölcsönhatásba az adatbázis JDBC-n keresztül tiszta szükséges minden egyes alkalommal, hogy hozzon létre egy új kapcsolatot az adatbázis minden egyes hozzáférési. Ez nagyon költséges, mivel a létesítmény egy új kapcsolat eljárás költséges.

PreparedStatement

Ebben a példában a lekérdezés használjuk PreparedStatement osztály, amelyben szeretnék lakni egy kicsit részletesebben. Először miért teszünk ebbe az osztályba, mert lekérdezésére vannak osztályok nyilatkozat és CallableStatement.
Röviden, a PreparedStatement osztály felgyorsítja kérelmek feldolgozását, mint a nyilatkozat. Most, hogy hogyan csinálja.

csomag com.dev.blogs
Adatforrás osztály pakolások java.sql.DriverManager osztály és visszatér egy adatbázis-kapcsolatot egy osztály hajtja végre a java.sql.Connection felületen. Tény, hogy ő irányítja a kapcsolatot az adatbázissal. Azon a helyen, akkor lehetne használni springovy osztály org.springframework.jdbc.datasource.DriverManagerDataSource. ami nem ugyanaz a dolog, de úgy döntött, hogy az én osztályom, hogy jobban megértsük, hogyan hajtsák végre springovye adatforrások csak a különbség a osztálygyűjteményt az a tény, hogy nem vettem észre, javax.sql.DataSource felület és nem kell betartani azokat az egyezményeket, vagy úgy nevek én a módszerek is különbözőek a könyvtári osztályok módszerekkel. Szintén a helyen lehetséges, sőt szükséges, hogy egy osztály, amely org.apache.commons.dbcp.BasicDataSource rendelkezésre Apache vagy osztály adatforrás, rájött, az egyik alkalmazás szerverek, mint a JBoss. WebSphere. WebLogic. GlassFish és így tovább. Amely az alkalmazások teljesítményét.

DataSource.java

nem adunk meg Component feljegyzést a bab. és állapítsa meg a konfigurációs fájlban, így nem csak azt, hogy hozzon létre egy bin, és meg kell állítani azt, és amikor a konfiguráció a bab, a legjobb beállítani, hogy egy külön config.

TestSimpleJdbc.java

rugós context.xml

jdbc.properties

Az épület és a futás

A projekt futtatásához, akkor kell hozzá egy függőségi mysql-connector-java (35-39 sor):

Most indul a projekt. Mivel mi csak teszteli, és a teszteket futtatni. Nyisson meg egy parancssort, és típusa:

Az eredmény vizsgálatokat kell futtatni teszteket futtatni: 2, Hibák: 0, Hibák: 0, átugrott: 0.

hátrányok JDBC

A nyilvánvaló hátránya segítségével JCDB mellett az a tény, hogy ez nem menti az adatbázis-erőforrások, ez az, amit meg kell ismételni ugyanazt a kódot.
Amikor készültem ezt a kódot például először hozzáadjuk az adathozzáférési logika WarehouseDaoImpl.java osztályban. aztán volt, hogy nem ugyanaz a dolog az osztályban ItemDaoImpl.java. azaz, hogy már kétszer átírni egy és ugyanaz a logika a DAO réteg. Nem mindenki lesz türelme megismételni ugyanazt a kódot minden DAO osztály. Ezért a következő bejegyzést nézzük meg egy példát a hozzáférést a rugós adatokat. amely gondoskodik az összes háztartás.

Kapcsolódó cikkek