ПредишенСледващото

JDBC осигурява на Java приложения, стандартен начин за достъп до данните, съхранявани в база данни. За да JDBC инфраструктура биха могли да работят с базата данни, трябва специфични за драйвера на база данни.
На първо място, водачът е зареден в паметта, а след това се записва от java.sql.DriverManager клас. Java.sql.DriverManager клас управлява списък с драйвери и осигурява статични методи, за да се установи връзка с базата данни.
Статичен метод getConnection () връща клас java.sql.DriverManager java.sql.Connection изпълнение интерфейс се осигурява от водача. Този интерфейс ви позволява да стартирате SQL-отчети за всяка база данни (в този случай, този, за който е регистриран на водача).
В този пост, нека разгледаме взаимодействието с базата данни през JDBC чист. Тъй като свързването към базата данни чрез JDBC е скъпо, в допълнение към всяка заявка към базата данни ще бъде създадена нова връзка, версията на приложението към базата данни е показано на този пост не е правилното решение, смисъла тук е, че по време на работа с JDBC данни чрез мрежата да имат представа за това, което се предприемат действия за контрол на връзката JDBC. защото в конвенционални проекти не трябва да се работи директно с JDBC нататък, и в следващия пост, помислете за по-добър начин, например, чрез басейн връзка.

Свързани постове

Склада на структура на база данни

схема на база данни

Entity-връзка диаграма или юридическо лице, отношенията ER:

SQL-скрипт за създаване на прост модел на данните:

създадат-данни-model.sql

SQL-скрипт за съдържанието на данните:

попълнете database.sql

За бързо създаване на база данни и да го пренесат с данните, които трябва постоянно да се изпълни скрипт създаде-данни-model.sql и попълнете database.sql.
Отворете командния ред и вид:

След изпълнение на тези скриптове трябва да бъдат създадени база показани по-долу:

Структурата на проекта

Класове домейн. пакет com.dev.blogs.model

Provider.java

Warehouse.java

com.dev.blogs.dao пакет - ниво на достъп до данните.
Добави Дао интерфейси. че капсулиране на всички услуги за достъп до данни за съхранение на информация. Тези интерфейси са дефинирани, всички методи са обединени в понятието CRUD (създават, четат, актуализиране, заличаване) - създаване, четете, актуализира и изтрива.

ItemDao.java

WarehouseDao.java

пакет com.dev.blogs.dao.impl
интерфейс за изпълнение осигурява достъп до услуги за данни.

ItemDaoImpl.java

WarehouseDaoImpl.java

Недостатъкът на този код е, че за да си взаимодействат с базата данни през JDBC чиста е необходимо всеки път да се създаде нова връзка към базата данни за всяка достъп. Много е скъпо, тъй като създаването на нов процес, връзката е скъпо.

PreparedStatement

В този пример на заявката ние използваме PreparedStatement клас, в който бих искал да се спра малко по-подробно. На първо място, защо ние сме като този клас, защото за запитвания има класове изявление и CallableStatement.
С една дума, този клас PreparedStatement ускорява обработката на заявки в сравнение с изложението. Сега, как го прави.

Пакетни com.dev.blogs
DataSource клас обвива java.sql.DriverManager клас и връща връзка с базата данни в клас изпълнява интерфейс java.sql.Connection. В действителност, той управлява връзката с базата данни. На мястото може да се използва springovy клас org.springframework.jdbc.datasource.DriverManagerDataSource. който прави същото нещо, но аз реших да използвам моя клас да се разбере по-добре как да се приложи източници springovye данни, само разликата между моя клас библиотека от факта, че не осъзнавах javax.sql.DataSource интерфейс и не спазват никакви конвенции, или така имена моите методи ще варират от библиотечни методи класове. Също така на мястото, че е възможно и дори необходимо да се използва клас, който org.apache.commons.dbcp.BasicDataSource предлага в Apache или източник клас данни, реализира един от сървърите за приложения като JBoss. WebSphere. WebLogic. GlassFish и така нататък. Кой може да се увеличи производителността на приложенията.

DataSource.java

ние не уточняват Компонент анотация на боб. и ние го декларира в конфигурационния файл, така че ние не просто искат да се създаде бин, и ние трябва да го конфигурирате, и когато става въпрос за конфигурацията на зърна, най-добре е да го конфигурирате в отделен конфигурационен.

TestSimpleJdbc.java

пружинно context.xml

jdbc.properties

Изграждане и изпълнение на

За да изпълните проекта, ще трябва да добавите зависимост MySQL-конектор-Java (35-39 реда):

Сега започнете проекта. Тъй като ние само тестове и тестовете ще се провеждат. Отворете командния ред и вид:

Резултатът от теста трябва да се провеждат тестове работят: 2, Недостатъци: 0, грешки: 0, прескочените: 0.

недостатъци JDBC

Очевидният недостатък на използването на JCDB освен факта, че тя не спести ресурсите на базата данни, това е, което ние трябва да се повтаря един и същи код.
Когато се подготвях кода за този пример за първи път добавя логиката за достъп до данни в WarehouseDaoImpl.java клас. и след това трябваше да направи същото нещо в ItemDaoImpl.java в класната стая. това означава, че е имал два пъти, за да пренапише една и съща логика за DAO слой. Не всеки ще имат търпение да се повтаря един и същ код за всеки клас DAO. Ето защо, в следващия пост ще разгледаме един пример за достъп до средствата за пролетните данни. която се грижи за цялото домакинство.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!