Spring JDBC şablon istifadə edərək verilənlər bazası daxil olmaq üçün necə?

Spring JDBC template

Spring JDBC şablon

Baxış: biz bütün yaz çərçivəsində müasir Java-based proqram inkişaf mühüm hissəsi olmuşdur ki, bildiyiniz kimi. yaz çərçivəsində səmərəli Java inkişaf dünyada hər şöbə nəzarət etmək bilmişdir. Baharın JDBC şablon bazası ilə ünsiyyət yaz ən əsaslı JEE applications istifadə olunur.

Bu yazıda mən bahar JDBC şablon istifadə edərək relational verilənlər bazası daxil olmaq üçün necə asılı danışacağıq.

Giriş: Biz bütün müəssisə proqram inkişaf relational verilənlər bazası əhəmiyyətini bilirik. Spring Java based müəssisə proqram inkişaf geniş istifadə çərçivəsində biridir. Spring ORM kimi müxtəlif modulları var, təhlükəsizlik, əməliyyat, JPS, JMS s müəssisə proqram inkişaf ehtiyac dəstək. yaz təmin As mövcud komponentləri plug-in, Müəssisə Java proqram inkişaf üçün müasir yanaşma geniş xüsusiyyətləri istifadə edir. Nəticədə inkişaf daha sürətli və səmərəli. Bahar JDBC şablon kimi verilənlər bazası fəaliyyəti bilmək idarə etmək üçün sadə bir yanaşma təmin edir.

standart JDBC API mənfi cəhətləri: Standard JDBC API aşağıdakı mənfi cəhətləri var.

  • Bundan başqa əsas sorğu həyata olan, Siz keçid yaratmaq kimi icra mühit məsələləri idarə etmək üçün kodu bir çox yazmaq lazımdır, bəyanat, ResultSet s.
  • ayrı-ayrı istisna user kodu idarə etmək lazımdır.
  • işlem məsələləri idarə etmək lazımdır.

yaz JDBC şablon üstünlükləri: Spring JDBC şablon standart JDBC normal yanaşma ilə müqayisədə aşağıdakı üstünlüklərə malikdir.

  • istifadə resursların Cleaning yaz JDBC şablon ilə avtomatik olaraq edilir. Belə ki, developers resursları azad haqqında narahat ehtiyac yoxdur. Beləliklə, bu yaddaş sızıntıları qarşısını alır.
  • Spring JDBC şablon daha səmərəli şəkildə istisna və səhvlər yapar. Bu RuntimeExceptions daxil JDBC SQLExceptions çevirir, belə developers daha çevik şəkildə idarə edə bilərsiniz.
  • yaz JDBC şablon da daha yaxşı mənalı mesaj satıcı xüsusi səhvlər çevirir. Belə ki, həmin səhvlərin handlings daha səmərəli.

Başlarken:

In this document, bir build alət bizim proqram qurmaq üçün ən gradle istifadə edək. Bizə bir təşkilat öz şöbələri ilə yanaşı, işçilərin ətraflı saxlamaq və almaq üçün istifadə bir sadə tətbiqi ilə başlamaq edək. Bizim misalda, Biz işçi obyekt aşağıdakı atributları olacaq:-

  • Employee Id
  • Employee Ad
  • Employee Middle Adı
  • Employee Soyad
  • Employee Department Id

Və şöbə obyekt aşağıdakı atributları var:-

  • Department Id
  • Department Adı

İndi bazası ilə ünsiyyət üçün istifadə olunacaq java obyektlərin yaratmaq imkan. Bu iki şəxslər üçün Bizim POJO dərsləri altında listelenen:

Listing1: Employee Class göstərən Sample

[Code]

package com.home.springjdbc.objects;

ictimai sinif əməkdaş {

// işçi Id

xüsusi String empId;

// işçi adı

xüsusi String empFName;

// işçi atasının adı

xüsusi String empMName;

// işçi soyadı

xüsusi String empLName;

// işçi şöbə Id

xüsusi String empDeptId;

ictimai əməkdaş ( String empId, String empFName, String empMName,

String empLName, String empDeptId ) {

super();

bu.EmpID = EmpID;

bu.Rec Rec name = adı;

bu.empMName = empMName;

bu.empLName = empLName;

bu.empDeptId = empDeptId;

}

/**

* @return empId

*/

ictimai string getEmpId () {

return EmpID;

}

/**

* @param EmpID

* empId təyin etmək

*/

ictimai ləğv setEmpId ( String empId ) {

bu.EmpID = EmpID;

}

/**

* @return empFName

*/

ictimai string getEmpFName () {

return Rec adı;

}

/**

* @param Rec adı

* empFName təyin etmək

*/

ictimai ləğv setEmpFName ( String empFName ) {

bu.Rec Rec name = adı;

}

/**

* @return empMName

*/

ictimai string getEmpMName () {

return empMName;

}

/**

* @param empMName

* empMName təyin etmək

*/

ictimai ləğv setEmpMName ( String empMName) {

bu.empMName = empMName;

}

 

/**

* @return empLName

*/

ictimai string getEmpLName () {

return empLName;

}

/**

* @param empLName

* empLName təyin etmək

*/

ictimai ləğv setEmpLName ( String empLName) {

bu.empLName = empLName;

}

/**

* @return empDeptId

*/

ictimai string getEmpDeptId () {

return empDeptId;

}

/**

* @param empDeptId

* empDeptId təyin etmək

*/

ictimai ləğv setEmpDeptId ( String empDeptId ) {

bu.empDeptId = empDeptId;

}

/*

* ( qeyri-Javadoc )

*

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

*/

@ Rusiyada yüklenme

ictimai String toString () {

return “əməkdaş [ EmpID =” + EmpID + “, Rec name =” + Rec adı

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

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

}

}

[/Code]

Listing2: Department Class göstərən Sample

[Code]

package com.home.springjdbc.objects;

ictimai sinif şöbə {

// şöbə Id

xüsusi String deptId;

// şöbə Adı

xüsusi String deptName;

ictimai şöbə ( String deptId, String deptName) {

super ();

bu.deptId = deptId;

bu.deptName = deptName;

}

/**

* @return deptId

*/

ictimai String getDeptId () {

return deptId;

}

/**

* @param deptId

* deptId təyin etmək

*/

ictimai ləğv setDeptId ( String deptId ) {

bu.deptId = deptId;

}

/**

* @return deptName

*/

ictimai String getDeptName () {

return deptName;

}

/**

* @param deptName

* deptName təyin etmək

*/

ictimai ləğv setDeptName ( String deptName ) {

bu.deptName = deptName;

}

/*

* (qeyri-Javadoc)

*

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

*/

@ Rusiyada yüklenme

ictimai String toString () {

return “şöbə [ deptId =” + deptId + “, deptName =” + deptName + “]”;

}

}

[/Code]

Spring JdbcTemplate kimi tanınan şablon sinif edir. Bu sinif SQL relational verilənlər bazası və JDBC ilə ünsiyyət üçün məsuliyyət daşıyır. Ənənəvi yanaşma bir JDBC kodu maksimum user əlaqə idarə işğal, resurs əldə, istisna Handling, biz nail olmaq üçün çalışırıq nə kontekstində irreverent və ümumi səhv yoxlanılması. JdbcTemplate bu şeyi bütün qayğı və bir geliştirici kimi biznes məntiq yalnız diqqət etməlidir. şablon sinif nümunəsi həyata keçirilməsi altında göstərilir -

Listing3: JDBC şablon həyata keçirilməsini nümunə göstərən

[Code]

package com.home.springjdbc.dao;

idxal java.sql.Driver;

idxal java.sql.ResultSet;

idxal java.sql.SQLException;

idxal java.util.List;

idxal org.springframework.jdbc.core.JdbcTemplate;

idxal org.springframework.jdbc.core.RowMapper;

idxal org.springframework.jdbc.datasource.SimpleDriverDataSource;

idxal com.home.springjdbc.objects.Employee;

ictimai sinif EmployeeDAO {

ictimai statik ləğv əsas ( String args[] ) {

// test üçün sadə DS (Biz istehsalı üçün!)

SimpleDriverDataSource kaynağınızda = yeni SimpleDriverDataSource();

dataSource.setDriverClass((sinif<? genişləndirir sürücü>) org.h2.Driver.sinif);

dataSource.setUsername( “öz” );

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

dataSource.setPassword( “” );

JdbcTemplate JdbcTemplate = yeni JdbcTemplate(kaynağınızda);

Sistem.həyata.println( “masalar yaradılması” );

jdbcTemplate.execute( “varsa masa işçilərin düşmək” );

jdbcTemplate.execute( “masa işçilərin yaratmaq(”

+ “id VARCHAR(25), first_name VARCHAR(255), middle_name VARCHAR(255), last_name VARCHAR(255), deptId VARCHAR(25))”);

Sim[] Qeydlərin = “E001 Dean Andrew Roberts D25; E002 Jeff Longman Dean D42; E003 Erin Nancy Kirkland D66;”.split(“;”);

uğrunda ( String singleRecord : qeydlər ) {

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

Sistem.həyata.printf( ” üçün işçi rekord durub% s% s% s% s% s n”,cols[0], cols[1], cols[2], cols[3], cols[4]);

jdbcTemplate.update(“INSERT INTO əməkdaşları(id, first_name, middle_name, Soyad, deptId) dəyərlər(?,?,?,?,?)”,cols[0], cols[1], cols[2], cols[3], cols[4]);

}

Sistem.həyata.println ( ” Querying for customer records where first_name = ‘Erin’:” );

siyahı<əməkdaş> = JdbcTemplate.query nəticələrini(

“select * işçilərin harada first_name = ?”,

yeni obyekt[] { “Erin” }, yeni RowMapper<əməkdaş>() {

@ Rusiyada yüklenme

ictimai Employee mapRow(ResultSet rs, int ROWNUM)

salır SQLException {

return yeni əməkdaş(rs.getString(“id”),

rs.getString(“first_name”), rs.getString(“middle_name”),

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

}

});

uğrunda (işçi : nəticələr) {

Sistem.həyata.println(əməkdaş);

}

}

}

[/Code]

Yuxarıdakı misalda, Biz yaz SimpleDriverDataSource istifadə edərək JDBC məlumat mənbəyi qurmaq. Biz sonra JDBCTemplate instansiya tikintisi üçün bu məlumat mənbəyi istifadə. JDBCTemplate sinif yaradılmışdır sonra, biz asanlıqla bazası zəng edə bilərsiniz. First, biz şablon icra metodu istifadə masa yaratmaq. Sonra şablon yeniləmə metodundan istifadə bir neçə qeydlər daxil. Nəhayət, biz seçim qeydlər almaq sorğusu metodu istifadə. Bizim nümunədə biz işçi masa rekord almaq üçün sadə bir sorğu istifadə. Amma bizim dizayn olaraq biz işçi masa sütun vasitəsilə şöbə masa ilə bir əlaqəsi yoxdur ki, görəcəksiniz - deptId. Belə ki, biz də bu iki masalar qoşulma qeydlər almaq üçün eyni kodu istifadə edə bilərsiniz. Bir qoşulmaq Just biz qoymaq üçün sorğu dəyişdirmək lazımdır. Yuxarıda code altında dəyişdirilə bilər -

Listing4: Nümunə redaktə sorğu göstərən

[Code]

siyahı<əməkdaş> = JdbcTemplate.query nəticələrini(

“seçin emp.first_name, emp.middle _name, emp.last _name, əməkdaşları ƏMİP-dan dept.dept_Name, Şöbə dept harada emp.first_name = ?”,

yeni obyekt[] { “Erin” }, yeni RowMapper<əməkdaş>() {

@ Rusiyada yüklenme

ictimai EmployeeDtls mapRow(ResultSet rs, int ROWNUM)

salır SQLException {

return yeni əməkdaş( rs.getString(“first_name”),

rs.getString(“middle_name”),

rs.getString(“Soyad”),

rs.getString(“dept_Name “));

}

});

uğrunda (EmployeeDtls employeeDtl : nəticələr) {

Sistem.həyata.println(employeeDtl);

}

[/Code]

biz altında başqa POJO sinif EmployeeDtls olmalıdır Bu icra -

Listing5: POJO sinif EmployeeDtls göstərən Sample

[Code]

package com.home.springjdbc.objects;

ictimai sinif EmployeeDtls {

// işçi adı

xüsusi String empFName;

// işçi atasının adı

xüsusi String empMName;

// işçi soyadı

xüsusi String empLName;

// şöbə Adı

xüsusi String deptName;

/**

* @param Rec adı

* @param empMName

* @param empLName

* @param deptName

*/

ictimai EmployeeDtls(String empFName, String empMName, String empLName,

String deptName) {

super();

bu.Rec Rec name = adı;

bu.empMName = empMName;

bu.empLName = empLName;

bu.deptName = deptName;

}

/*

* (qeyri-Javadoc)

*

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

*/

@ Rusiyada yüklenme

ictimai String toString() {

return “EmployeeDtls [Rec name =” + Rec adı + “, empMName =” + empMName

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

}

/**

* @return empFName

*/

ictimai string getEmpFName() {

return Rec adı;

}

/**

* @param Rec adı

* empFName təyin etmək

*/

ictimai ləğv setEmpFName(String empFName) {

bu.Rec Rec name = adı;

}

/**

* @return empMName

*/

ictimai string getEmpMName() {

return empMName;

}

/**

* @param empMName

* empMName təyin etmək

*/

ictimai ləğv setEmpMName(String empMName) {

bu.empMName = empMName;

}

/**

* @return empLName

*/

ictimai string getEmpLName() {

return empLName;

}

/**

* @param empLName

* empLName təyin etmək

*/

ictimai ləğv setEmpLName(String empLName) {

bu.empLName = empLName;

}

/**

* @return deptName

*/

ictimai String getDeptName() {

return deptName;

}

/**

* @param deptName

* deptName təyin etmək

*/

ictimai ləğv setDeptName(String deptName) {

bu.deptName = deptName;

}

}

[/Code]
Summary: Belə ki, bu məqalədə biz standart və müəssisə applications based Java istifadə edilə bilər necə yaz JDBC şablon gördük. Biz də bu yanaşmanın üstünlükləri müzakirə etdik və bu, inkişaf daha sürətli standart JDBC əsaslanan inkişaf ilə müqayisədə edə bilər necə.

Bizə güllə bal aşağıdakı şəklində bizim müzakirə yekunlaşdırmaq edək -

  • Spring müasir Java-based müəssisə proqram inkişaf ətraf mühitin mühüm hissəsi olmuşdur.
  • Spring müxtəlif bölmələr vardır, out olan, JDBC şablon mühüm hissəsidir.
  • Spring JDBC şablon resurs əldə edilməsi yük alaraq inkişafını asanlaşdırır, əlaqə management, istisna Handling, və ümumi səhv yoxlanılması. Biz geliştirici kimi mürəkkəb biznes ssenari üzərində lazımdır.
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share