- Спринг ЈДБЦ шаблон
- Разумевање потребе за Спринг ЈДБЦ шаблоном
- Предност Спринг ЈДБЦ шаблона
- Класе ЈДБЦ шаблона
- Пример класе ЈдбцТемплате
Пролеће ЈдбцТемплате је моћан механизам за повезивање са базом података и извршавање СКЛ упита. Интерно користи ЈДБЦ АПИ, али елиминише многе проблеме ЈДБЦ АПИ-ја.
Проблеми ЈДБЦ АПИ-ја
Проблеми ЈДБЦ АПИ-ја су следећи:
- Морамо да напишемо много кода пре и после извршавања упита, као што је креирање везе, изјава, затварање скупа резултата, конекција итд.
- Морамо да извршимо код за обраду изузетака на логици базе података.
- Морамо да се бавимо трансакцијом.
- Понављање свих ових кодова из једне у другу логику базе података је дуготрајан задатак.
Предност Спринг ЈдбцТемплате
Спринг ЈдбцТемплате елиминише све горе наведене проблеме ЈДБЦ АПИ-ја. Пружа вам методе за директно писање упита, тако да штеди много посла и времена.
Спринг Јдбц Аппроацхес
Спринг фрамеворк пружа следеће приступе за приступ ЈДБЦ бази података:
- ЈдбцТемплате
- НамедПараметерЈдбцТемплате
- СимплеЈдбцТемплате
- СимплеЈдбцИнсерт и СимплеЈдбцЦалл
Класа ЈдбцТемплате
То је централна класа у Спринг ЈДБЦ класама подршке. Он се брине о креирању и ослобађању ресурса као што је креирање и затварање објекта везе итд. Тако да неће довести до проблема ако заборавите да затворите везу.
Он обрађује изузетак и пружа информативне поруке о изузетку уз помоћ екцепион класа дефинисаних у орг.спрингфрамеворк.дао пакет.
Уз помоћ класе ЈдбцТемплате можемо извршити све операције базе података као што су уметање, ажурирање, брисање и преузимање података из базе података.
Хајде да видимо методе спринг ЈдбцТемплате класе.
Не. | Метод | Опис |
---|---|---|
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);*/ } }преузмите овај пример (развијено коришћењем МиЕцлипсе ИДЕ)
преузмите овај пример (развијен помоћу Ецлипсе ИДЕ)