logo

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.

konvertáljon egy karakterláncot dátummá

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.

szöveg méretű latex

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ódszerLeí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.

normál formák
 
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)