Miten päästä tietokantaan Spring JDBC mallia?

Spring JDBC template

Spring JDBC template

Yleiskatsaus: Kuten me kaikki tiedämme, että jousi kehys on tullut olennainen osa nykyaikaista Java-pohjainen sovellus kehitys. Jousi kehys on tehokkaasti onnistunut hallitsemaan jokaisen osaston Java kehittämisyhteisöstä. JDBC mallia kevään käytetään useimmissa kevään perustuvan JEE sovellusten kommunikoida tietokannan.

Tässä artikkelissa aion puhua siitä, miten saadaan relaatiotietokantaan käyttämällä JDBC mallia kevään.

Käyttöönotto: Me kaikki tiedämme, kuinka tärkeää on relaatiotietokannan yrityssovellusten kehittämiseen. Kevät on yksi yleisesti käytetty kehykset Javaan yrityssovellusten kehittämiseen. Spring on erilaisia ​​moduuleja, kuten ORM, turvallisuus, kauppa, JPS, JMS jne tukea tarvitsevat yrityssovellusten kehittämiseen. Kevään tarjoaa helposti saatavilla komponentteja plug-in, nykyaikainen lähestymistapa yritysten Java-kehitystä käyttää ominaisuuksia laajasti. Tämän seurauksena kehitys on paljon nopeampi ja tehokasta. Spring tarjoaa yksinkertaisen lähestymistavan käsitellä tietokantaan toimintaa tietää kevään JDBC templaattina.

Haitat standardin JDBC API: Standard JDBC API on seuraavat haitat.

  • Sen lisäksi suorittamalla tärkein kyselyn, sinun täytyy kirjoittaa paljon koodia käsittelemään suorittamiseen ympäristökysymykset, kuten luoda yhteys, selvitys, ResultSet etc.
  • Tarve käsitellä poikkeusten käsittely koodi erikseen.
  • Tarve käsitellä kaupallisen kysymyksiä.

Edut kevät JDBC mallin: Spring JDBC malli on seuraavat edut verrattuna normaaliin lähestymistapa standardin JDBC.

  • Puhdistus käytettyjen resurssien tapahtuu automaattisesti jousen JDBC mallin. Joten kehittäjien ei tarvitse vaivata vapauttaa resursseja. Näin se estää muistivuotokuvioista.
  • Spring JDBC mallin käsittelee poikkeus ja virheet tehokkaammin. Se muuntaa JDBC SQLExceptions osaksi RuntimeExceptions, joten kehittäjät voivat käsitellä sitä joustavammin.
  • Jousi JDBC mallia myös muuntaa valmistajakohtaisia ​​virheet paremmin merkityksellinen sanoma. Joten käsittelyjen näiden virheiden ovat tehokkaampia.

Päästä alkuun:

In this document, nyt käyttää gradle kuin rakentaa väline rakentaa meidän sovellus. Aloitetaan yksinkertainen sovellus käyttää tallentaa ja hakea tiedot työntekijöiden sekä niiden osastojen organisaation. Tässä esimerkissä, meillä on seuraavat ominaisuudet työntekijän esineen:-

  • Henkilöstökortti
  • Työntekijän Etunimi
  • Työntekijän Toinen nimi
  • Työntekijän sukunimi
  • Työntekijän osasto Id

Ja osaston kohde on seuraavat ominaisuudet:-

  • Department Id
  • osaston nimi

Nyt voimme luoda java objekteja, joita käytetään kommunikoida tietokannan. Meidän Pohja luokat näiden kahden yksikön luetellaan alla:

Listing1: Näyte osoittaa Työntekijä Class

[Code]

package com.home.springjdbc.objects;

julkinen luokka Employee {

// Työntekijä Id

yksityinen string empId;

// Työntekijä Ensimmäinen Name

yksityinen string empFName;

// Työntekijä toinen nimi

yksityinen string empMName;

// Työntekijä sukunimi

yksityinen string empLName;

// Työntekijä osasto Id

yksityinen string empDeptId;

julkinen Employee ( string empId, string empFName, string empMName,

string empLName, string empDeptId ) {

Super();

this.EmpID = EmpID;

this.Rec rec name = nimi;

this.empMName = empMName;

this.empLName = empLName;

this.empDeptId = empDeptId;

}

/**

* @palata empId

*/

julkinen string getEmpId () {

return EmpID;

}

/**

* @param EmpID

* empId asettaa

*/

julkinen mitätöidä setEmpId ( string empId ) {

this.EmpID = EmpID;

}

/**

* @palata empFName

*/

julkinen string getEmpFName () {

return Rec nimi;

}

/**

* @param Rec nimi

* empFName asettaa

*/

julkinen mitätöidä setEmpFName ( string empFName ) {

this.Rec rec name = nimi;

}

/**

* @palata empMName

*/

julkinen string getEmpMName () {

return empMName;

}

/**

* @param empMName

* empMName asettaa

*/

julkinen mitätöidä setEmpMName ( string empMName) {

this.empMName = empMName;

}

 

/**

* @palata empLName

*/

julkinen string getEmpLName () {

return empLName;

}

/**

* @param empLName

* empLName asettaa

*/

julkinen mitätöidä setEmpLName ( string empLName) {

this.empLName = empLName;

}

/**

* @palata empDeptId

*/

julkinen string getEmpDeptId () {

return empDeptId;

}

/**

* @param empDeptId

* empDeptId asettaa

*/

julkinen mitätöidä setEmpDeptId ( string empDeptId ) {

this.empDeptId = empDeptId;

}

/*

* ( ei-Javadoc )

*

* @see java.lang.Object # toString ()

*/

@ Ohitus

julkinen string toString () {

return “Employee [ EmpID =” + EmpID + “, Rec name =” + Rec nimi

+ “, empMName =” + empMName + “, empLName =” + empLName

+ “, empDeptId =” + empDeptId + “]”;

}

}

[/Code]

Listing2: Näyte osoittaa Department Class

[Code]

package com.home.springjdbc.objects;

julkinen luokka osasto {

// Osasto Id

yksityinen string deptId;

// Osasto Name

yksityinen string deptName;

julkinen osasto ( string deptId, string deptName) {

Super ();

this.deptId = deptId;

this.deptName = deptName;

}

/**

* @palata deptId

*/

julkinen string getDeptId () {

return deptId;

}

/**

* @param deptId

* deptId asettaa

*/

julkinen mitätöidä setDeptId ( string deptId ) {

this.deptId = deptId;

}

/**

* @palata deptName

*/

julkinen string getDeptName () {

return deptName;

}

/**

* @param deptName

* deptName asettaa

*/

julkinen mitätöidä setDeptName ( string deptName ) {

this.deptName = deptName;

}

/*

* (ei-Javadoc)

*

* @see java.lang.Object # toString()

*/

@ Ohitus

julkinen string toString () {

return “osasto [ deptId =” + deptId + “, deptName =” + deptName + “]”;

}

}

[/Code]

Spring tarjoaa mallin luokan tunnetaan JdbcTemplate. Tämä luokka on vastuussa kommunikoida SQL relaatiotietokantojen ja JDBC. Perinteisessä lähestymistavassa enintään JDBC koodi on käytössä käsittelyyn yhteydenhallintalaite, resurssi hankinta, poikkeuskäsittelyä, ja yleinen virheentarkistukset joka on epäkunnioittava yhteydessä, mitä me yritämme saavuttaa. JdbcTemplate huolehtii kaikista näistä asioista ja kehittäjänä meidän pitäisi keskittyä vain ansaintalogiikka. Näyte täytäntöönpano mallin luokka on esitetty alla -

Listing3: Näyte osoittaa täytäntöönpanon JDBC mallin

[Code]

package com.home.springjdbc.dao;

tuoda java.sql.Driver;

tuoda java.sql.ResultSet;

tuoda java.sql.SQLException;

tuoda java.util.List;

tuoda org.springframework.jdbc.core.JdbcTemplate;

tuoda org.springframework.jdbc.core.RowMapper;

tuoda org.springframework.jdbc.datasource.SimpleDriverDataSource;

tuoda com.home.springjdbc.objects.Employee;

julkinen luokka EmployeeDAO {

julkinen staattinen mitätöidä tärkein ( String args[] ) {

// yksinkertainen DS testi (ei tuotannon!)

SimpleDriverDataSource Tietolähde = uusi SimpleDriverDataSource();

dataSource.setDriverClass((Class<? ulottuu kuljettaja>) org.h2.Driver.luokka);

dataSource.setUsername( “hänen” );

dataSource.setUrl( “jdbc:h2:Mem” );

dataSource.setPassword( “” );

JdbcTemplate JdbcTemplate = uusi JdbcTemplate(tietolähde);

Järjestelmä.ulos.println( “luominen taulukot” );

jdbcTemplate.execute( “pudota taulukko työntekijää, jos on olemassa” );

jdbcTemplate.execute( “luoda taulukko työntekijää(”

+ “id varchar(25), first_name varchar(255), middle_name varchar(255), LAST_NAME varchar(255), deptId varchar(25))”);

Jono[] kirjaa = “E001 Dean Andrew Roberts D25; E002 Jeff Longman Dean D42; E003 Erin Nancy Kirkland D66;”.jakaa(“;”);

varten ( string singleRecord : asiakirjat ) {

Jono [] sarakkeet = singleRecord.split(” “);

Järjestelmä.ulos.printf( ” Lisäämällä työntekijä ennätys% s% s% s% s% s n”,työtoverit[0], työtoverit[1], työtoverit[2], työtoverit[3], työtoverit[4]);

jdbcTemplate.update(“INSERT INTO työntekijää(id, etunimi, toinen nimi, sukunimi, deptId) arvot(?,?,?,?,?)”,työtoverit[0], työtoverit[1], työtoverit[2], työtoverit[3], työtoverit[4]);

}

Järjestelmä.ulos.println ( ” Querying for customer records where first_name = ‘Erin’:” );

Lista<Employee> tulokset = jdbcTemplate.query(

“select * työntekijöiltä jossa first_name = ?”,

uusi Esine[] { “Erin” }, uusi RowMapper<Employee>() {

@ Ohitus

julkinen työntekijän mapRow(ResultSet rs, int ROWNUM)

heittää SQLException {

return uusi Employee(rs.getString(“id”),

rs.getString(“etunimi”), rs.getString(“toinen nimi”),

rs.getString(“sukunimi”), rs.getString(“deptId”));

}

});

varten (työntekijän työntekijä : tulokset) {

Järjestelmä.ulos.println(työntekijä);

}

}

}

[/Code]

Yllä olevassa esimerkissä, perustimme JDBC tietolähteen käyttämällä SimpleDriverDataSource keväästä. Me sitten käyttää tätä tietolähdettä rakentaa JDBCTemplate esimerkiksi. Kun JDBCTemplate luokka luodaan, voimme helposti aloittaa soittamalla tietokannan. First, luomme taulukon avulla suorittaa menetelmän mallin. Sitten lisätään muutama kirjaa käyttäen päivitystapa mallin. Lopuksi käytämme kyselyn menetelmän hakemaan kirjaa valinta. Tässä esimerkissä olemme käyttäneet yksinkertaista kysely noutaa kirjaa työntekijältä taulukosta. Mutta kohti meidän suunnittelu näemme, että työntekijällä taulukossa on suhteessa laitoksella taulukon kautta sarake - deptId. Voimme myös käyttää samaa koodia hakemaan kirjaa siirtymistään nämä kaksi taulukkoa. Juuri meidän täytyy muuttaa kyselyn laittaa liittyä. Edellä oleva koodi voidaan modifioida alla -

Listing4: Näyte esittämän muunnetun kyselyn

[Code]

Lista<Employee> tulokset = jdbcTemplate.query(

“valitse emp.first_name, emp.middle _käyttäjän, emp.last _käyttäjän, dept.dept_Name työntekijöiltä emp, osasto osasto jossa emp.first_name = ?”,

uusi Esine[] { “Erin” }, uusi RowMapper<Employee>() {

@ Ohitus

julkinen EmployeeDtls mapRow(ResultSet rs, int ROWNUM)

heittää SQLException {

return uusi Employee( rs.getString(“etunimi”),

rs.getString(“toinen nimi”),

rs.getString(“sukunimi”),

rs.getString(“dept_Name “));

}

});

varten (EmployeeDtls employeeDtl : tulokset) {

Järjestelmä.ulos.println(employeeDtl);

}

[/Code]

Voit suorittaa tämän pitäisi olla toinen Pohja luokka EmployeeDtls kuten alla -

Listing5: Näyte osoittaa Pohja luokan EmployeeDtls

[Code]

package com.home.springjdbc.objects;

julkinen luokka EmployeeDtls {

// Työntekijä Ensimmäinen Name

yksityinen string empFName;

// Työntekijä toinen nimi

yksityinen string empMName;

// Työntekijä sukunimi

yksityinen string empLName;

// Osasto Name

yksityinen string deptName;

/**

* @param Rec nimi

* @param empMName

* @param empLName

* @param deptName

*/

julkinen EmployeeDtls(string empFName, string empMName, string empLName,

string deptName) {

Super();

this.Rec rec name = nimi;

this.empMName = empMName;

this.empLName = empLName;

this.deptName = deptName;

}

/*

* (ei-Javadoc)

*

* @see java.lang.Object # toString()

*/

@ Ohitus

julkinen string toString() {

return “EmployeeDtls [Rec name =” + Rec nimi + “, empMName =” + empMName

+ “, empLName =” + empLName + “, deptName =” + deptName + “]”;

}

/**

* @palata empFName

*/

julkinen string getEmpFName() {

return Rec nimi;

}

/**

* @param Rec nimi

* empFName asettaa

*/

julkinen mitätöidä setEmpFName(string empFName) {

this.Rec rec name = nimi;

}

/**

* @palata empMName

*/

julkinen string getEmpMName() {

return empMName;

}

/**

* @param empMName

* empMName asettaa

*/

julkinen mitätöidä setEmpMName(string empMName) {

this.empMName = empMName;

}

/**

* @palata empLName

*/

julkinen string getEmpLName() {

return empLName;

}

/**

* @param empLName

* empLName asettaa

*/

julkinen mitätöidä setEmpLName(string empLName) {

this.empLName = empLName;

}

/**

* @palata deptName

*/

julkinen string getDeptName() {

return deptName;

}

/**

* @param deptName

* deptName asettaa

*/

julkinen mitätöidä setDeptName(string deptName) {

this.deptName = deptName;

}

}

[/Code]
Summary: Joten tässä artikkelissa olemme nähneet kuinka kevät JDBC mallia voidaan käyttää Java-pohjainen standardi ja yrityssovellukset. Olemme myös keskustelleet edut tämän lähestymistavan ja miten se voi tehdä kehitystä paljon nopeammin verrattuna standardin JDBC pohjainen kehittäminen.

Olkaamme yhteenveto keskusteluamme muodossa seuraavien bullet pistettä -

  • Kevät on tullut olennainen osa nykyaikaista Java-pohjainen yrityssovellusten kehitysympäristö.
  • Spring on eri osissa, joista, JDBC malli on tärkeä osa.
  • Spring JDBC mallin helpottaa kehitystä ottamalla kuorman resurssien hankinta, Yhteydenhallinta, poikkeuskäsittelyä, ja yleinen virhe tarkkailun. Me kehittäjänä tarvitsee vain keskittyä monimutkaista skenaariota.
============================================= ============================================== Osta parhaat tekniset kirjat Amazonista,en,sähköasentaja CT -kastaja,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share