Kuidas pääseda andmebaasi kasutades Spring JDBC malli?

Spring JDBC template

Spring JDBC malli

Ülevaade: Nagu me kõik teame, et kevadel raamistik on muutunud oluliseks osaks tänapäeva Java rakenduste arendamisele. Kevadel raames on olnud efektiivsed, et võtta kontrolli iga osakonna Java arendamise maailma. JDBC malli kevadel on kasutatud enamikus kevadel põhineb JEE rakendused suhelda andmebaasis.

Selle artikli räägin sellest, kuidas pääseda relatsioonandmebaasile kasutades JDBC malli kevadel.

Sissejuhatus: Me kõik teame, kui oluline on relatsiooniline andmebaas ettevõtete rakendustarkvara arendamiseks. Kevad on üks laialt levinud raamistike Java ettevõtte rakenduste arendamisele. Kevad on erinevad moodulid, nagu ORM, turvalisus, tehing, JPS, JMS jne toetada vajadust ettevõtete rakendustarkvara arendamiseks. Nagu kevadel pakub käepärast komponendid plug-in, kaasaegset lähenemisviisi ettevõtte Java rakenduste arendamisele kasutab funktsioone ulatuslikult. Selle tulemusena arengut on palju kiirem ja tõhusam. Kevad annab lihtsa lähenemise hakkama andmebaasis tegevuse tea kui kevadel JDBC malli.

Puudused standard JDBC API: Standard JDBC API on järgmised puudused.

  • Peale täidesaatva peamine päringu, teil on vaja kirjutada palju koodi käepide täitmise keskkonnaküsimusi nagu luua ühendus, väljavõte, resultset jne.
  • Vajadus hakkama arvatud käitlemine koodi eraldi.
  • Vajadus hakkama tehingute küsimusi.

Eelised kevadel JDBC malli: Spring JDBC mall on järgmised eelised võrreldes tavalistest standard JDBC.

  • Puhastus kasutada ressursse toimub automaatselt kevadel JDBC malli. Nii et arendajad ei pea muretsema, vabastades ressursse. Seega takistab mälulekked.
  • Spring JDBC malli käepidemed erand ja vead tõhusamalt. See muudab JDBC SQLExceptions arvesse RuntimeExceptions, nii et arendajad saavad sellega hakkama paindlikumalt.
  • Kevadel JDBC malli ka teisendab omased vead parem sisukat sõnumit. Nii handlings nende vead on tõhusam.

Alustamine:

In this document, olgem kasutada gradle kui ehitada vahend ehitada meie taotlus. Alustame lihtne rakendus kasutada hoiukohta ja üksikasjad töötajate koos oma osakondade organisatsioon. Meie näites, meil järgmised atribuudid töötaja objekti:-

  • töötaja Id
  • Töötaja eesnimi
  • Töötaja Lähis Nimi
  • Töötaja perekonnanimi
  • Töötaja osakonna ID

Ja osakonna objekti omab järgmisi atribuute:-

  • osakonna ID
  • Department Nimi

Vaatame nüüd luua java objektid, mida hakatakse kasutama suhelda andmebaas. Meie POJO klasside need kaks üksust on loetletud all:

Listing1: Proovi näitab Töötaja klass

[Code]

package com.home.springjdbc.objects;

avalik klass Employee {

// Töötaja Id

era- string EmpID;

// Töötaja esimene nimi

era- string empFName;

// Töötaja keskmine nimi

era- string empMName;

// Töötaja perekonnanimi

era- string empLName;

// Töötaja osakonna ID

era- string empDeptId;

avalik Employee ( string EmpID, string empFName, string empMName,

string empLName, string empDeptId ) {

super();

see.EmpID = EmpID;

see.Rec Rec name = nimi;

see.empMName = empMName;

see.empLName = empLName;

see.empDeptId = empDeptId;

}

/**

* @return EmpID

*/

avalik string getEmpId () {

return EmpID;

}

/**

* @ param EmpID

* EmpID seada

*/

avalik tühine setEmpId ( string EmpID ) {

see.EmpID = EmpID;

}

/**

* @return empFName

*/

avalik string getEmpFName () {

return Rec nimi;

}

/**

* @ param Rec nimi

* empFName seada

*/

avalik tühine setEmpFName ( string empFName ) {

see.Rec Rec name = nimi;

}

/**

* @return empMName

*/

avalik string getEmpMName () {

return empMName;

}

/**

* @ param empMName

* empMName seada

*/

avalik tühine setEmpMName ( string empMName) {

see.empMName = empMName;

}

 

/**

* @return empLName

*/

avalik string getEmpLName () {

return empLName;

}

/**

* @ param empLName

* empLName seada

*/

avalik tühine setEmpLName ( string empLName) {

see.empLName = empLName;

}

/**

* @return empDeptId

*/

avalik string getEmpDeptId () {

return empDeptId;

}

/**

* @ param empDeptId

* empDeptId seada

*/

avalik tühine setEmpDeptId ( string empDeptId ) {

see.empDeptId = empDeptId;

}

/*

* ( mitte-javaDoc )

*

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

*/

@ Alistamine

avalik string toString () {

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

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

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

}

}

[/Code]

Listing2: Proovi näitab osakonna klass

[Code]

package com.home.springjdbc.objects;

avalik klass osakond {

// Osakonna Id

era- string deptId;

// Osakonna nimi

era- string deptName;

avalik osakond ( string deptId, string deptName) {

super ();

see.deptId = deptId;

see.deptName = deptName;

}

/**

* @return deptId

*/

avalik string getDeptId () {

return deptId;

}

/**

* @ param deptId

* deptId seada

*/

avalik tühine setDeptId ( string deptId ) {

see.deptId = deptId;

}

/**

* @return deptName

*/

avalik string getDeptName () {

return deptName;

}

/**

* @ param deptName

* deptName seada

*/

avalik tühine setDeptName ( string deptName ) {

see.deptName = deptName;

}

/*

* (mitte-javaDoc)

*

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

*/

@ Alistamine

avalik string toString () {

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

}

}

[/Code]

Kevad annab malli klassi tuntakse JdbcTemplate. See klass on suhtleva SQL relatsioonandmebaasides ja JDBC. Traditsioonilises lähenemine maksimaalselt JDBC kood on hõivatud käitlemise ühendus juhtimise, ressursside omandamise, välja arvatud käitlemine, ja üldine viga kontrollimine, mis on üleolev kontekstis, mida me püüame saavutada. JdbcTemplate hoolitseb kõiki neid asju ja kui arendaja peaksime keskenduma ainult äriloogika. Proovi rakendamise malli klassi näidatakse all -

Listing3: Proovi näitab rakendamise JDBC malli

[Code]

package com.home.springjdbc.dao;

importima java.sql.Driver;

importima java.sql.ResultSet;

importima java.sql.SQLException;

importima java.util.List;

importima org.springframework.jdbc.core.JdbcTemplate;

importima org.springframework.jdbc.core.RowMapper;

importima org.springframework.jdbc.datasource.SimpleDriverDataSource;

importima com.home.springjdbc.objects.Employee;

avalik klass EmployeeDAO {

avalik staatiline tühine põhiline ( String args[] ) {

// Lihtne DS test (mitte tootmine!)

SimpleDriverDataSource DATASOURCE = uus SimpleDriverDataSource();

dataSource.setDriverClass((klass<? laieneb juht>) org.h2.Driver.klass);

dataSource.setUsername( “tema” );

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

dataSource.setPassword( “” );

JdbcTemplate JdbcTemplate = uus JdbcTemplate(DATASOURCE);

Süsteem.välja.println( “loomine tabelid” );

jdbcTemplate.execute( “tilk laua töötajatele kui on olemas” );

jdbcTemplate.execute( “luua tabelit töötajad(”

+ “ID varchar(25), first_name varchar(255), middle_name varchar(255), Last_Name varchar(255), deptId varchar(25))”);

String[] arvestust = “E001 Dean Andrew Roberts D25; E002 Jeff Longman Dean D42; E003 Erin Nancy Kirkland D66;”.lõhe(“;”);

eest ( string singleRecord : andmed ) {

String [] cols = singleRecord.split(” “);

Süsteem.välja.printf( ” Lisades töötaja rekord% s% s% s% s% s n”,veerud[0], veerud[1], veerud[2], veerud[3], veerud[4]);

jdbcTemplate.update(“Lisada töötajad(ID, eesnimi, keskmine nimi, perekonnanimi, deptId) väärtused(?,?,?,?,?)”,veerud[0], veerud[1], veerud[2], veerud[3], veerud[4]);

}

Süsteem.välja.println ( ” Querying for customer records where first_name = ‘Erin’:” );

nimekiri<Employee> tulemuseks = jdbcTemplate.query(

“select * Töötajate kus first_name = ?”,

uus objekt[] { “Erin” }, uus RowMapper<Employee>() {

@ Alistamine

avalik töötaja mapRow(ResultSet rs, int rOWNUM)

viskab SQLException {

return uus Employee(rs.getString(“ID”),

rs.getString(“eesnimi”), rs.getString(“keskmine nimi”),

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

}

});

eest (töötaja töötaja : tulemused) {

Süsteem.välja.println(töötaja);

}

}

}

[/Code]

Eespool toodud näites, asutasime JDBC andmeallika abil SimpleDriverDataSource kevadest. Me siis kasutada andmeallika ehitada JDBCTemplate näiteks. Kui JDBCTemplate sarja loomisel, saame kergesti alustada kutsudes andmebaasis. First, meil luua tabelit abil teostada meetod malli. Siis sisestada paari arvestust kasutades uuendatud meetod malli. Lõpuks me kasutame päringu meetod tõmmata arvestust meie valik. Meie näites on kasutatud lihtsa päringu tõmmata rekord töötaja tabelis. Aga nagu iga meie disain näeme, et töötaja tabelis on seoses osakonna tabelis kaudu veerg - deptId. Nii saame ka kasutada sama koodi tõmmata arvestust liitumist need kaks lauda. Lihtsalt peame muutma päringu panna liituda. Eespool nimetatud koodi, mida saab muuta, kuna all -

Listing4: Proovi näidates muudetud päringu

[Code]

nimekiri<Employee> tulemuseks = jdbcTemplate.query(

“valige emp.first_name, emp.middle _name, emp.last _name, dept.dept_Name töötajatelt emp, osakonna osakonnas, kus emp.first_name = ?”,

uus objekt[] { “Erin” }, uus RowMapper<Employee>() {

@ Alistamine

avalik EmployeeDtls mapRow(ResultSet rs, int rOWNUM)

viskab SQLException {

return uus Employee( rs.getString(“eesnimi”),

rs.getString(“keskmine nimi”),

rs.getString(“perekonnanimi”),

rs.getString(“dept_Name “));

}

});

eest (EmployeeDtls employeeDtl : tulemused) {

Süsteem.välja.println(employeeDtl);

}

[/Code]

Et täita seda peaks meil teise POJO klassi EmployeeDtls nagu all -

Listing5: Proovi näitab POJO klassi EmployeeDtls

[Code]

package com.home.springjdbc.objects;

avalik klass EmployeeDtls {

// Töötaja esimene nimi

era- string empFName;

// Töötaja keskmine nimi

era- string empMName;

// Töötaja perekonnanimi

era- string empLName;

// Osakonna nimi

era- string deptName;

/**

* @ param Rec nimi

* @ param empMName

* @ param empLName

* @ param deptName

*/

avalik EmployeeDtls(string empFName, string empMName, string empLName,

string deptName) {

super();

see.Rec Rec name = nimi;

see.empMName = empMName;

see.empLName = empLName;

see.deptName = deptName;

}

/*

* (mitte-javaDoc)

*

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

*/

@ Alistamine

avalik string toString() {

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

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

}

/**

* @return empFName

*/

avalik string getEmpFName() {

return Rec nimi;

}

/**

* @ param Rec nimi

* empFName seada

*/

avalik tühine setEmpFName(string empFName) {

see.Rec Rec name = nimi;

}

/**

* @return empMName

*/

avalik string getEmpMName() {

return empMName;

}

/**

* @ param empMName

* empMName seada

*/

avalik tühine setEmpMName(string empMName) {

see.empMName = empMName;

}

/**

* @return empLName

*/

avalik string getEmpLName() {

return empLName;

}

/**

* @ param empLName

* empLName seada

*/

avalik tühine setEmpLName(string empLName) {

see.empLName = empLName;

}

/**

* @return deptName

*/

avalik string getDeptName() {

return deptName;

}

/**

* @ param deptName

* deptName seada

*/

avalik tühine setDeptName(string deptName) {

see.deptName = deptName;

}

}

[/Code]
Summary: Nii et selles artiklis me oleme näinud, kuidas kevadel JDBC malli saab kasutada Java Standard ja Enterprise rakendused. Samuti on arutatud eeliseid see lähenemine ja kuidas seda saab teha arengule palju kiiremini võrreldes standardse JDBC arengukavade.

Olgem kokku meie arutelu vormis järgmiste punktide kaupa -

  • Kevad on saanud oluline osa kaasaegse Java ettevõtte rakenduste arenduskeskkond.
  • Kevad on erinevad lõigud, millest, JDBC mall on oluline osa.
  • Spring JDBC malli lihtsustab arengut, võttes koormus ressursi omandamise, seoses juhtimise, välja arvatud käitlemine, ja üldiselt veakontrollialgoritmide. Me arendaja lihtsalt vaja keskenduda keeruline äri stsenaariumi.
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share