Թե ինչպես կարելի է մուտք գործել տվյալների բազա, օգտագործելով Գարուն JDBC ձեւանմուշ?

Spring JDBC template

Գարուն JDBC Կաղապար

Overview: Քանի որ մենք բոլորս գիտենք, որ գարունը շրջանակը դարձել էական մասն է ժամանակակից Java հիմնված դիմում զարգացման. Գարունն շրջանակը արդյունավետ կարողացել է վերահսկել յուրաքանչյուր բաժնի Java զարգացման աշխարհում. The JDBC կաղապարը Գարնան օգտագործվում է մեծ մասը գարնանը հիման Jee դիմումների հետ շփվելու մասնակի.

Այս հոդվածում ես կխոսեմ, թե ինչպես պետք է մուտք գործել է Հարաբերական տվյալների բազա, օգտագործելով JDBC ձեւանմուշ գարնանը.

Ներածություն: Մենք բոլորս գիտենք, թե որքան կարեւոր է Հարաբերական տվյալների բազայում Enterprise Դիմում զարգացման. Գարուն մեկն լայնորեն օգտագործվող շրջանակների Java հիմնված ձեռնարկության դիմումի զարգացման. Գարուն ունի տարբեր մոդուլներ, ինչպիսիք ORM, անվտանգություն, գործարքը, JPS, JMS այլն աջակցելու անհրաժեշտությունը Enterprise Դիմում զարգացման. Քանի որ գարունը ապահովում մատչելի բաղադրիչներ plug-in, է ժամանակակից մոտեցումը ձեռնարկության Java կիրառման զարգացումը օգտագործում այն ​​հատկանիշները լայնորեն. Որպես հետեւանք զարգացումը շատ ավելի արագ եւ արդյունավետ. Գարուն ապահովում է պարզ մոտեցում է կարգավորել տվյալների բազայի գործունեությունը գիտեմ, քանի որ գարնանային JDBC Կաղապար.

Թերությունները ստանդարտ JDBC API: Ստանդարտ JDBC API ունի հետեւյալ թերությունները.

  • Զատ կատարում են հիմնական հարցմանը, Դուք պետք է գրել շատ կոդի կարգավորել կատարման միջավայրի խնդիրները, ինչպիսիք են ստեղծել կապը, հայտարարություն, ResultSet այլն.
  • Հաղորդագրություն փակցնելուց համար պետք է կարգավորել բացառությունները բեռնաթափման կոդը առանձին-առանձին.
  • Հաղորդագրություն փակցնելուց համար պետք է կարգավորել գործառնական խնդիրները.

Առավելությունները գարնանային JDBC Կաղապար: Գարուն JDBC Կաղապար ունի հետեւյալ առավելությունները համեմատ նորմալ մոտեցման ստանդարտ JDBC.

  • Մաքրում օգտագործվող ռեսուրսների կատարվում է ավտոմատ կերպով է գարնանային JDBC Կաղապար. Այնպես որ մշակողները չեն պետք է անհանգստացնել մասին ազատելու ռեսուրսները. Հետեւաբար, այն կանխում է հիշողության արտահոսքեր.
  • Գարուն JDBC Կաղապար բռնակներ բացառություն եւ սխալներ է ավելի արդյունավետ ճանապարհով. Այն նորադարձների է JDBC SQLExceptions մեջ RuntimeExceptions, ուստի մշակողները կարող են կարգավորել այն ավելի ճկուն ձեւով.
  • Գարունն JDBC կաղապարը նաեւ նորադարձների վաճառողի հատուկ սխալներ ավելի լավ իմաստալից հաղորդագրության. Այնպես որ մշակումները այդ սխալների են ավելի արդյունավետ.

Սկսել:

In this document, եկեք օգտագործենք gradle որպես կառուցել գործիք է կառուցել մեր դիմումը. Եկեք սկսել մի պարզ դիմումը, որն օգտագործվում է պահել եւ վերստանալ մանրամասները աշխատակիցների հետ միասին, իրենց բաժինների է կազմակերպության. Մեր օրինակում, մենք կունենանք հետեւյալ հատկանիշները աշխատողի օբյեկտի:-

  • Employee ՈՒղեցույց
  • Employee Անուն
  • Employee Հայրանուն
  • Employee Ազգանուն
  • Employee վարչություն ՈՒղեցույց

Եվ վարչությունը օբյեկտը ունի հետեւյալ հատկանիշները,:-

  • Department ՈՒղեցույց
  • Department Անունը

Այժմ եկեք ստեղծենք The Java օբյեկտները, որոնք կարող են օգտագործվել հետ շփվելու մասնակի. Մեր POJO դասընթացներ այս երկու անձանց, որոնք նշված են որպես տակ:

Listing1: Sample է Աշխատողը Մանրամասն

[Code]

package com.home.springjdbc.objects;

հասարակություն դաս ծառայող {

// Աշխատողը ՈՒղեցույց

մասնավոր String empId;

// Աշխատողը Անուն

մասնավոր String empFName;

// Աշխատողը հայրանունը

մասնավոր String empMName;

// Աշխատողը ԱԶԳԱՆՈՒՆ

մասնավոր String empLName;

// Աշխատողը վարչությունը ՈՒղեցույց

մասնավոր String empDeptId;

հասարակություն ծառայող ( String empId, String empFName, String empMName,

String empLName, String empDeptId ) {

սուպեր();

այս.EmpID = EmpID;

այս.Rec Rec name = անունը;

այս.empMName = empMName;

այս.empLName = empLName;

այս.empDeptId = empDeptId;

}

/**

* @return որ empId

*/

հասարակություն լարային getEmpId () {

return EmpID;

}

/**

* @param EmpID

* որ empId սահմանել

*/

հասարակություն անվավեր setEmpId ( String empId ) {

այս.EmpID = EmpID;

}

/**

* @return որ empFName

*/

հասարակություն լարային getEmpFName () {

return Rec անունը;

}

/**

* @param Rec անունը

* որ empFName սահմանել

*/

հասարակություն անվավեր setEmpFName ( String empFName ) {

այս.Rec Rec name = անունը;

}

/**

* @return որ empMName

*/

հասարակություն լարային getEmpMName () {

return empMName;

}

/**

* @param empMName

* որ empMName սահմանել

*/

հասարակություն անվավեր setEmpMName ( String empMName) {

այս.empMName = empMName;

}

 

/**

* @return որ empLName

*/

հասարակություն լարային getEmpLName () {

return empLName;

}

/**

* @param empLName

* որ empLName սահմանել

*/

հասարակություն անվավեր setEmpLName ( String empLName) {

այս.empLName = empLName;

}

/**

* @return որ empDeptId

*/

հասարակություն լարային getEmpDeptId () {

return empDeptId;

}

/**

* @param empDeptId

* որ empDeptId սահմանել

*/

հասարակություն անվավեր setEmpDeptId ( String empDeptId ) {

այս.empDeptId = empDeptId;

}

/*

* ( ոչ-Javadoc )

*

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

*/

@ Վերագրել

հասարակություն String toString () {

return “ծառայող [ EmpID =” + EmpID + “, Rec name =” + Rec անունը

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

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

}

}

[/Code]

Listing2: Sample է բաժնի Մանրամասն

[Code]

package com.home.springjdbc.objects;

հասարակություն դաս բաժին {

// Բաժինը ՈՒղեցույց

մասնավոր String deptId;

// Բաժինը Անունը

մասնավոր String deptName;

հասարակություն բաժին ( String deptId, String deptName) {

սուպեր ();

այս.deptId = deptId;

այս.deptName = deptName;

}

/**

* @return որ deptId

*/

հասարակություն String getDeptId () {

return deptId;

}

/**

* @param deptId

* որ deptId սահմանել

*/

հասարակություն անվավեր setDeptId ( String deptId ) {

այս.deptId = deptId;

}

/**

* @return որ deptName

*/

հասարակություն String getDeptName () {

return deptName;

}

/**

* @param deptName

* որ deptName սահմանել

*/

հասարակություն անվավեր setDeptName ( String deptName ) {

այս.deptName = deptName;

}

/*

* (ոչ-Javadoc)

*

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

*/

@ Վերագրել

հասարակություն String toString () {

return “բաժին [ deptId =” + deptId + “, deptName =” + deptName + “]”;

}

}

[/Code]

Գարուն ապահովում է կաղապարի դաս հայտնի է որպես JdbcTemplate. Այս դասի համար պատասխանատու է հետ շփվելու SQL Հարաբերական բազաների եւ JDBC. Ավանդական մոտեցման առավելագույն է JDBC օրենսգրքի զբաղվում է բեռնաթափման կապի կառավարման, ռեսուրսը ձեռքբերում, Բացառություն են բեռնաթափման, եւ ընդհանրապես սխալ է ստուգում, որը անպատկառ համատեքստում, թե ինչ մենք փորձում ենք հասնել. The JdbcTemplate խնամում այդ բոլոր բաները, եւ որպես մշակողի մենք պետք է կենտրոնանալ միայն գործարար տրամաբանությունից. Նմուշ իրականացումը կաղապարի դասի ցուցադրվում է որպես տակ -

Listing3: Sample է իրականացմանը JDBC Կաղապար

[Code]

package com.home.springjdbc.dao;

ներմուծում java.sql.Driver;

ներմուծում java.sql.ResultSet;

ներմուծում java.sql.SQLException;

ներմուծում java.util.List;

ներմուծում org.springframework.jdbc.core.JdbcTemplate;

ներմուծում org.springframework.jdbc.core.RowMapper;

ներմուծում org.springframework.jdbc.datasource.SimpleDriverDataSource;

ներմուծում com.home.springjdbc.objects.Employee;

հասարակություն դաս EmployeeDAO {

հասարակություն ստատիկ անվավեր հիմնական ( Լարային args[] ) {

// պարզ DS փորձարկման (չէ արտադրության!)

SimpleDriverDataSource datasource = նոր SimpleDriverDataSource();

dataSource.setDriverClass((դաս<? տարածվում վարորդ>) org.h2.Driver.դաս);

dataSource.setUsername( “նրան” );

dataSource.setUrl( “JDBC:h2:Մեմ” );

dataSource.setPassword( “” );

JdbcTemplate JdbcTemplate = նոր JdbcTemplate(datasource);

Համակարգ.դուրս.println( “Ստեղծվում սեղաններ” );

jdbcTemplate.execute( “թողնել սեղան աշխատակիցներին, եթե գոյություն ունի” );

jdbcTemplate.execute( “ստեղծել սեղանի աշխատակիցներին(”

+ “id VARCHAR(25), FIRST_NAME ն VARCHAR(255), middle_name VARCHAR(255), LAST_NAME VARCHAR(255), deptId VARCHAR(25))”);

Լար[] գրառումները = “E001 Dean Andrew Roberts D25; E002 Jeff Longman Dean D42; E003 Erin Nancy Kirkland d66;”.պառակտում(“;”);

համար ( String singleRecord : գրառումները ) {

Լար [] cols = singleRecord.split(” “);

Համակարգ.դուրս.printf( ” Ավելացվում է աշխատողների ռեկորդ է% s% s% s% s% s n”,cols[0], cols[1], cols[2], cols[3], cols[4]);

jdbcTemplate.update(“Տեղադրեք աշխատակիցները(id, անուն, middle_name, Ազգանուն, deptId) values(?,?,?,?,?)”,cols[0], cols[1], cols[2], cols[3], cols[4]);

}

Համակարգ.դուրս.println ( ” Querying for customer records where first_name = ‘Erin’:” );

Ցուցակ<ծառայող> արդյունքները = jdbcTemplate.query(

“select * աշխատողներից որտեղից, FIRST_NAME = ?”,

նոր օբյեկտ[] { “Իռլանդիա” }, նոր RowMapper<ծառայող>() {

@ Վերագրել

հասարակություն Employee mapRow(ResultSet RS, int ROWNUM)

նետում SQLException {

return նոր ծառայող(rs.getString(“id”),

rs.getString(“անուն”), rs.getString(“middle_name”),

rs.getString(“Ազգանուն”), rs.getString(“deptId”));

}

});

համար (Employee աշխատակից : արդյունքները) {

Համակարգ.դուրս.println(ծառայող);

}

}

}

[/Code]

Վերը նշված օրինակում, մենք ստեղծել JDBC տվյալների աղբյուր օգտագործելով SimpleDriverDataSource գարուն. Մենք ապա օգտվեք այս տվյալների աղբյուր կառուցել JDBCTemplate դեպք. Երբ JDBCTemplate դասը ստեղծված, Մենք հեշտությամբ կարող է սկսել զանգահարելով տվյալների բազայի. First, Մենք ստեղծել աղյուսակը օգտագործելով կատարել մեթոդը Կաղապար. Հետո մենք մտցրեք մի քանի գրառումները օգտագործելով թարմացման մեթոդը Կաղապար. Վերջապես, մենք օգտագործել հարցման մեթոդը, վերցնել գրառումները մեր ընտրությամբ. Մեր օրինակում մենք օգտվել ենք մի պարզ հարցմանը վերցնել ռեկորդը ից աշխատակցի սեղանին. Բայց քանի որ ըստ մեր դիզայնի մենք տեսնում ենք, որ աշխատողը սեղանը ունի հետ վարչության սեղանին միջոցով սյունակում - deptId. Այնպես որ, մենք կարող ենք նաեւ օգտագործել նույն կոդը fetch ռեկորդները միանում այդ երկու սեղաններ. Պարզապես մենք պետք է փոխել հարցմանը դնելու մի միանալ. Վերը նշված կոդը կարող է փոփոխվել, քանի որ մինչեւ

Listing4: Sample է ձեւափոխված հարցմանը

[Code]

Ցուցակ<ծառայող> արդյունքները = jdbcTemplate.query(

“Ընտրել emp.first_name, emp.middle _name, emp.last _name, dept.dept_Name աշխատակիցների ԲԿՊ, Բաժանմունքը պարտքը, որտեղ emp.first_name = ?”,

նոր օբյեկտ[] { “Իռլանդիա” }, նոր RowMapper<ծառայող>() {

@ Վերագրել

հասարակություն EmployeeDtls mapRow(ResultSet RS, int ROWNUM)

նետում SQLException {

return նոր ծառայող( rs.getString(“անուն”),

rs.getString(“middle_name”),

rs.getString(“Ազգանուն”),

rs.getString(“dept_Name “));

}

});

համար (EmployeeDtls employeeDtl : արդյունքները) {

Համակարգ.դուրս.println(employeeDtl);

}

[/Code]

Է կատարել այդ մենք պետք է ունենանք եւս մեկ POJO կարգի EmployeeDtls ներքո -

Listing5: Sample ցույց տալով POJO կարգի EmployeeDtls

[Code]

package com.home.springjdbc.objects;

հասարակություն դաս EmployeeDtls {

// Աշխատողը Անուն

մասնավոր String empFName;

// Աշխատողը հայրանունը

մասնավոր String empMName;

// Աշխատողը ԱԶԳԱՆՈՒՆ

մասնավոր String empLName;

// Բաժինը Անունը

մասնավոր String deptName;

/**

* @param Rec անունը

* @param empMName

* @param empLName

* @param deptName

*/

հասարակություն EmployeeDtls(String empFName, String empMName, String empLName,

String deptName) {

սուպեր();

այս.Rec Rec name = անունը;

այս.empMName = empMName;

այս.empLName = empLName;

այս.deptName = deptName;

}

/*

* (ոչ-Javadoc)

*

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

*/

@ Վերագրել

հասարակություն String toString() {

return “EmployeeDtls [Rec name =” + Rec անունը + “, empMName =” + empMName

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

}

/**

* @return որ empFName

*/

հասարակություն լարային getEmpFName() {

return Rec անունը;

}

/**

* @param Rec անունը

* որ empFName սահմանել

*/

հասարակություն անվավեր setEmpFName(String empFName) {

այս.Rec Rec name = անունը;

}

/**

* @return որ empMName

*/

հասարակություն լարային getEmpMName() {

return empMName;

}

/**

* @param empMName

* որ empMName սահմանել

*/

հասարակություն անվավեր setEmpMName(String empMName) {

այս.empMName = empMName;

}

/**

* @return որ empLName

*/

հասարակություն լարային getEmpLName() {

return empLName;

}

/**

* @param empLName

* որ empLName սահմանել

*/

հասարակություն անվավեր setEmpLName(String empLName) {

այս.empLName = empLName;

}

/**

* @return որ deptName

*/

հասարակություն String getDeptName() {

return deptName;

}

/**

* @param deptName

* որ deptName սահմանել

*/

հասարակություն անվավեր setDeptName(String deptName) {

այս.deptName = deptName;

}

}

[/Code]
Summary: Այնպես որ, այս հոդվածում մենք տեսել են, թե ինչպես է գարունը JDBC Կաղապար, կարող է օգտագործվել է Java հիմնված Ստանդարտ եւ Ձեռնարկությունների դիմումները. Մենք նաեւ քննարկել են առավելությունները այս մոտեցման, եւ ինչպես դա կարող է անել, զարգացումը շատ ավելի արագ համեմատ ստանդարտ JDBC հիմնված զարգացման.

Եկեք ամփոփել մեր քննարկումը ձեւով հետեւելու գնդակի միավոր -

  • Գարուն դարձել էական մասն է ժամանակակից Java հիմնված ձեռնարկության դիմումը զարգացման միջավայրում.
  • Գարուն ունի տարբեր բաժիններ, որից, որ JDBC Կաղապար կարեւոր մաս.
  • Գարուն JDBC Կաղապար eases զարգացումը առնելով բեռը ռեսուրսների ձեռքբերման, կապ կառավարում, Բացառություն են բեռնաթափման, եւ ընդհանրապես սխալ է ստուգում. Մենք `որպես մշակողի պարզապես անհրաժեշտ է կենտրոնանալ բարդ բիզնես սցենարի.
============================================= ============================================== Գնեք լավագույն տեխնոլոգիական գրքերը Amazon- ում,en,Էլեկտրականություն CT շագանակագույն էլեկտրաէներգիա,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share