logo

Спринг ЈдбцТемплате Водич

  1. Спринг ЈДБЦ шаблон
  2. Разумевање потребе за Спринг ЈДБЦ шаблоном
  3. Предност Спринг ЈДБЦ шаблона
  4. Класе ЈДБЦ шаблона
  5. Пример класе ЈдбцТемплате

Пролеће ЈдбцТемплате је моћан механизам за повезивање са базом података и извршавање СКЛ упита. Интерно користи ЈДБЦ АПИ, али елиминише многе проблеме ЈДБЦ АПИ-ја.

Проблеми ЈДБЦ АПИ-ја

Проблеми ЈДБЦ АПИ-ја су следећи:

  • Морамо да напишемо много кода пре и после извршавања упита, као што је креирање везе, изјава, затварање скупа резултата, конекција итд.
  • Морамо да извршимо код за обраду изузетака на логици базе података.
  • Морамо да се бавимо трансакцијом.
  • Понављање свих ових кодова из једне у другу логику базе података је дуготрајан задатак.

Предност Спринг ЈдбцТемплате

Спринг ЈдбцТемплате елиминише све горе наведене проблеме ЈДБЦ АПИ-ја. Пружа вам методе за директно писање упита, тако да штеди много посла и времена.


Спринг Јдбц Аппроацхес

Спринг фрамеворк пружа следеће приступе за приступ ЈДБЦ бази података:

  • ЈдбцТемплате
  • НамедПараметерЈдбцТемплате
  • СимплеЈдбцТемплате
  • СимплеЈдбцИнсерт и СимплеЈдбцЦалл

Класа ЈдбцТемплате

То је централна класа у Спринг ЈДБЦ класама подршке. Он се брине о креирању и ослобађању ресурса као што је креирање и затварање објекта везе итд. Тако да неће довести до проблема ако заборавите да затворите везу.

Он обрађује изузетак и пружа информативне поруке о изузетку уз помоћ екцепион класа дефинисаних у орг.спрингфрамеворк.дао пакет.

Уз помоћ класе ЈдбцТемплате можемо извршити све операције базе података као што су уметање, ажурирање, брисање и преузимање података из базе података.

Хајде да видимо методе спринг ЈдбцТемплате класе.

Не.МетодОпис
1)јавно инт ажурирање (стринг упит)се користи за уметање, ажурирање и брисање записа.
2)јавно инт ажурирање (стринг упит, објекат... аргс)се користи за уметање, ажурирање и брисање записа користећи ПрепаредСтатемент користећи дате аргументе.
3)публиц воид екецуте (стринг упит)се користи за извршавање ДДЛ упита.
4)јавно Т екецуте (Стринг скл, ПрепаредСтатементЦаллбацк акција)извршава упит помоћу повратног позива ПрепаредСтатемент.
5)јавни Т упит (Стринг скл, РесултСетЕктрацтор рсе)се користи за преузимање записа помоћу РесултСетЕктрацтор-а.
6)јавни упит за листу (Стринг скл, РовМаппер рсе)се користи за преузимање записа помоћу РовМаппер-а.

Пример Спринг ЈдбцТемплате

Претпостављамо да сте креирали следећу табелу унутар Орацле10г базе података.

 create table employee( id number(10), name varchar2(100), salary number(10) ); 
Емплоиее.јава

Ова класа садржи 3 својства са конструкторима и сетером и геттерима.

 package com.javatpoint; public class Employee { private int id; private String name; private float salary; //no-arg and parameterized constructors //getters and setters } 
ЕмплоиееДао.јава

Садржи једно својство јдбцТемплате и три методе савеЕмплоиее(), упдатеЕмплоиее и делетеЕмплоиее().

 package com.javatpoint; import org.springframework.jdbc.core.JdbcTemplate; public class EmployeeDao { private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public int saveEmployee(Employee e){ String query='insert into employee values( ''+e.getId()+'',''+e.getName()+'',''+e.getSalary()+'')'; return jdbcTemplate.update(query); } public int updateEmployee(Employee e){ String query='update employee set name=''+e.getName()+'',salary=''+e.getSalary()+'' where id=''+e.getId()+'' '; return jdbcTemplate.update(query); } public int deleteEmployee(Employee e){ String query='delete from employee where id=''+e.getId()+'' '; return jdbcTemplate.update(query); } } 
апплицатионЦонтект.кмл

Тхе ДриверМанагерДатаСоурце се користи да садржи информације о бази података као што су назив класе драјвера, УРЛ везе, корисничко име и лозинка.

Постоји имовина под називом извор података у класи ЈдбцТемплате типа ДриверМанагерДатаСоурце. Дакле, морамо да обезбедимо референцу објекта ДриверМанагерДатаСоурце у класи ЈдбцТемплате за својство извора података.

Овде користимо објекат ЈдбцТемплате у класи ЕмплоиееДао, тако да га прослеђујемо методом за подешавање, али можете користити и конструктор.

 
Тест.јава

Ова класа добија беан из датотеке апплицатионЦонтект.кмл и позива методу савеЕмплоиее(). Такође можете позвати методе упдатеЕмплоиее() и делетеЕмплоиее() тако што ћете декоментирати код.

 package com.javatpoint; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) { ApplicationContext ctx=new ClassPathXmlApplicationContext('applicationContext.xml'); EmployeeDao dao=(EmployeeDao)ctx.getBean('edao'); int status=dao.saveEmployee(new Employee(102,'Amit',35000)); System.out.println(status); /*int status=dao.updateEmployee(new Employee(102,'Sonoo',15000)); System.out.println(status); */ /*Employee e=new Employee(); e.setId(102); int status=dao.deleteEmployee(e); System.out.println(status);*/ } } 
преузмите овај пример (развијено коришћењем МиЕцлипсе ИДЕ)
преузмите овај пример (развијен помоћу Ецлипсе ИДЕ)