Tavaszi JdbcTemplate oktatóanyag

  1. Tavaszi JDBC sablon
  2. A tavaszi JDBC sablon szükségességének megértése
  3. A tavaszi JDBC sablon előnyei
  4. JDBC sablon osztályok
  5. Példa a JdbcTemplate osztályra

Tavaszi JdbcSablon egy hatékony mechanizmus az adatbázishoz való csatlakozáshoz és az SQL-lekérdezések végrehajtásához. Belsőleg JDBC API-t használ, de kiküszöböli a JDBC API sok problémáját.

A JDBC API problémái

A JDBC API problémái a következők:

  • Sok kódot kell írnunk a lekérdezés végrehajtása előtt és után, például kapcsolat létrehozása, utasítás, eredményhalmaz lezárása, kapcsolat stb.
  • Kivételkezelő kódot kell végrehajtanunk az adatbázis-logikán.
  • Le kell intéznünk a tranzakciót.
  • Mindezen kódok ismétlése egyik adatbázis-logikáról a másikra időigényes feladat.

A tavaszi JdbcTemplate előnyei

A tavaszi JdbcTemplate kiküszöböli a JDBC API fent említett összes problémáját. Módszereket biztosít a lekérdezések közvetlen írásához, így sok munkát és időt takarít meg.


Tavaszi Jdbc megközelítések

A tavaszi keretrendszer a következő megközelítéseket kínálja a JDBC adatbázis-hozzáféréshez:

  • JdbcSablon
  • NamedParameterJdbcTemplate
  • SimpleJdbcSablon
  • SimpleJdbcInsert és SimpleJdbcCall

JdbcTemplate osztály

Ez a központi osztály a tavaszi JDBC támogatási osztályokban. Gondoskodik az erőforrások létrehozásáról és felszabadításáról, például a kapcsolódási objektum létrehozásáról és bezárásáról stb. Így nem okoz problémát, ha elfelejti bezárni a kapcsolatot.

Kezeli a kivételt és biztosítja a tájékoztató jellegű kivételüzeneteket a -ban definiált kivételosztályok segítségével org.springframework.dao csomag.

A JdbcTemplate osztály segítségével az összes adatbázis-műveletet elvégezhetjük, mint például az adatok beillesztése, frissítése, törlése és visszakeresése az adatbázisból.

Lássuk a tavaszi JdbcTemplate osztály metódusait.

Nem. Módszer Leírás
1) nyilvános int frissítés (karakterlánc lekérdezés) rekordok beszúrására, frissítésére és törlésére szolgál.
2) nyilvános int frissítés (String query, Object... args) rekordok beszúrására, frissítésére és törlésére szolgál a PreparedStatement használatával, megadott argumentumok használatával.
3) public void execute (karakterlánc lekérdezés) DDL lekérdezés végrehajtására szolgál.
4) public T execute (String sql, PreparedStatementCallback művelet) végrehajtja a lekérdezést a PreparedStatement visszahívás használatával.
5) nyilvános T lekérdezés (String sql, ResultSetExtractor rse) a ResultSetExtractor segítségével rekordok lekérésére szolgál.
6) nyilvános listalekérdezés (String sql, RowMapper rse) rekordok lekérésére szolgál a RowMapper használatával.

Példa a tavaszi JdbcTemplate-re

Feltételezzük, hogy az alábbi táblázatot az Oracle10g adatbázisban hozta létre.

 create table employee( id number(10), name varchar2(100), salary number(10) );  
Munkavállaló.java

Ez az osztály 3 tulajdonságot tartalmaz konstruktorokkal, setterekkel és getterekkel.

 package com.javatpoint; public class Employee { private int id; private String name; private float salary; //no-arg and parameterized constructors //getters and setters }  
EmployeeDao.java

Egy jdbcTemplate tulajdonságot és három módszert tartalmaz: saveEmployee(), updateEmployee és deleteEmployee().

 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); } }  
applicationContext.xml

A DriverManagerDataSource az adatbázissal kapcsolatos információk tárolására szolgál, mint például az illesztőprogram-osztály neve, a csatlakozási URL, a felhasználónév és a jelszó.

nevű ingatlan található adatforrás a DriverManagerDataSource típusú JdbcTemplate osztályban. Tehát meg kell adnunk a DriverManagerDataSource objektum hivatkozását a JdbcTemplate osztályban az adatforrás tulajdonsághoz.

Itt a JdbcTemplate objektumot használjuk az EmployeeDao osztályban, tehát a setter metódussal adjuk át, de használhatjuk a konstruktort is.

  
Test.java

Ez az osztály lekéri a komponenst az applicationContext.xml fájlból, és meghívja a saveEmployee() metódust. Meghívhatja az updateEmployee() és deleteEmployee() metódust is a kód megjegyzéseinek törlésével.

 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);*/ } }  
töltse le ezt a példát (MyEclipse IDE használatával fejlesztették)
töltse le ezt a példát (Eclipse IDE segítségével fejlesztették)