Yuav ua li cas rau hauv tsev, siv caij nplooj ntoos hlav JDBC template database?

Spring JDBC template

Caij nplooj ntoos hlav JDBC template

Txheej txheem cej luam: Raws li peb yeej paub tias lub caij nplooj ntoos hlav moj khaum kuj yog ib feem tseem ceeb ntawm qhov niaj hnub Java raws li daim ntawv thov kev. Lub moj khaum caij nplooj ntoos hlav tau no tswj coj tswj txhua koom hauv ntiaj teb no kev loj hlob Java. Lub JDBC template kev caij nplooj ntoos hlav siv feem ntau lub caij nplooj ntoos hlav los JEE kev siv sib txuas lus nrog cov database.

Nyob rau cov tshooj no kuv yuav tham li cas rau hauv tsev ib tug paub database siv lub JDBC template kev caij nplooj ntoos hlav.

Taw qhia: Peb yeej paub tias qhov tseem ceeb ntawm paub database hauv txoj kev loj hlob thov enterprise. Caij nplooj ntoos hlav yog ib yam ntawm cov coj lug siv nyob rau hauv kev loj hlob daim ntawv thov raws li Java enterprise. Caij nplooj ntoos hlav twb txawv modules li ORM, ruaj, lw, JPS, JMS thiab lwm yam los txhawb tau lub enterprise daim ntawv thov kev. Thaum lub caij nplooj hlav muab khoom nkag Cheebtsam yuav plug-in, qhov niaj hnub mus kom ze rau enterprise Java daim ntawv thov kev siv cov yam ntxwv feem. Yog li ntawd qhov kev loj hlob tsis npaum sai thiab npaum. Caij nplooj ntoos hlav muab kev yooj yim mus kov database yam paub thaum lub caij nplooj ntoos hlav JDBC template.

Kev txheem API JDBC disadvantages: Txheem API JDBC muaj cov nram qab no disadvantages.

  • Apart from executing lub ntsiab lus nug, koj yuav tsum sau ntau qhov chaws mus daws cov tiav ib puas ncig txog tej teeb meem xws li kev tsim kev twb kev txuas, tsab ntawv, resultset thiab lwm yam.
  • Xav tau lis nyias tuav cai kos.
  • Yuav tsum mus daws teeb meem transactional.

Zoo rau lub caij nplooj ntoos hlav JDBC template: Caij nplooj ntoos hlav JDBC template muaj cov nram qab no zoo dua rau tej kev uas txheem JDBC.

  • Ntxuav uas siv cov kev pab yog tas thaum lub caij nplooj ntoos hlav JDBC template. Ces tus developers tsis yuav mus thab txog tso rau qhov chaw muab kev pab. Li no nws tsis pub nco txia.
  • Caij nplooj ntoos hlav JDBC template tuam haujlwm txais cov kos thiab uas tsis muaj ntau txoj kev. Nws converts tus JDBC SQLExceptions mus ua RuntimeExceptions, li ntawd, tus developers tau ko nws yooj ywm ntau txoj kev.
  • Lub caij nplooj ntoos hlav JDBC template kuj converts cov vendor tej uas tsis nyob hauv zoo kuab lus. Yog li tus handlings ntawm cov uas tsis yog cov ntau.

Pib tau:

Nyob rau hauv daim ntawv no, peb siv gradle yog ib tug muaj uas tsim peb daim ntawv thov. Peb pib nrog rau ib daim ntawv thov yooj yim siv los khaws thiab retrieve kom paub meej txog cov neeg ua hauj lwm nrog rau cov saib xyuas uas yog cov koom haum. Nyob hauv peb tus piv txwv, peb yuav tau muaj tus muab ntawm tus neeg ua hauj lwm paj nruas nram qab no:-

  • Neeg ua hauj lwm tus Id
  • Neeg ua hauj lwm lub npe
  • Neeg ua hauj lwm lub npe nruab nrab
  • Neeg ua hauj lwm xeem
  • Neeg ua hauj lwm Department Id

Thiab tus tsav haus dejcawv koom muaj cov nram qab no muab:-

  • Fai Id
  • Npe

Tam sim no peb tsim tau cov khoom java uas yuav muab coj los sib tham nrog tus database. Rau cov chaw ob peb mus kawm POJO no muaj raws li:

Listing1: Qauv uas qhia cov neeg ua hauj lwm kawm

[Chaws]

pob com.Home.springjdbc.objects;

pej xeem hoob Neeg ua hauj lwm {

// Tus neeg ua num daim Id

lwm yam Txoj hlua empId;

// Cov neeg ua hauj lwm lub npe

lwm yam Txoj hlua empFName;

// Cov neeg ua hauj lwm nruab nrab lub npe

lwm yam Txoj hlua empMName;

// Cov neeg ua hauj lwm mus txog lub npe

lwm yam Txoj hlua empLName;

// Lub tuam tsev ua hauj lwm tus Id

lwm yam Txoj hlua empDeptId;

pej xeem Neeg ua hauj lwm ( Txoj hlua empId, Txoj hlua empFName, Txoj hlua empMName,

Txoj hlua empLName, Txoj hlua empDeptId ) {

super();

no.empId = empId;

no.empFName = empFName;

no.empMName = empMName;

no.empLName = empLName;

no.empDeptId = empDeptId;

}

/**

* @return lub empId

*/

pej xeem Txoj hlua getEmpId () {

rov qab mus empId;

}

/**

* @param empId

* cov empId rau koj muab

*/

pej xeem khoob lug setEmpId ( Txoj hlua empId ) {

no.empId = empId;

}

/**

* @return lub empFName

*/

pej xeem Txoj hlua getEmpFName () {

rov qab mus empFName;

}

/**

* @param empFName

* cov empFName rau koj muab

*/

pej xeem khoob lug setEmpFName ( Txoj hlua empFName ) {

no.empFName = empFName;

}

/**

* @return lub empMName

*/

pej xeem Txoj hlua getEmpMName () {

rov qab mus empMName;

}

/**

* @param empMName

* cov empMName rau koj muab

*/

pej xeem khoob lug setEmpMName ( Txoj hlua empMName) {

no.empMName = empMName;

}

 

/**

* @return lub empLName

*/

pej xeem Txoj hlua getEmpLName () {

rov qab mus empLName;

}

/**

* @param empLName

* cov empLName rau koj muab

*/

pej xeem khoob lug setEmpLName ( Txoj hlua empLName) {

no.empLName = empLName;

}

/**

* @return lub empDeptId

*/

pej xeem Txoj hlua getEmpDeptId () {

rov qab mus empDeptId;

}

/**

* @param empDeptId

* cov empDeptId rau koj muab

*/

pej xeem khoob lug setEmpDeptId ( Txoj hlua empDeptId ) {

no.empDeptId = empDeptId;

}

/*

* ( tsis yog-Javadoc )

*

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

*/

@Override

pej xeem Txoj hlua toString () {

rov qab mus “Neeg ua hauj lwm [ empId =” + empId + “, empFName =” + empFName

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

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

}

}

[/Chaws]

Listing2: Qauv uas qhia hoob kawm Department

[Chaws]

pob com.Home.springjdbc.objects;

pej xeem hoob Koom {

// Lub tuam tsev Id

lwm yam Txoj hlua deptId;

// Lawv lub npe

lwm yam Txoj hlua deptName;

pej xeem Koom ( Txoj hlua deptId, Txoj hlua deptName) {

super ();

no.deptId = deptId;

no.deptName = deptName;

}

/**

* @return lub deptId

*/

pej xeem Txoj hlua getDeptId () {

rov qab mus deptId;

}

/**

* @param deptId

* cov deptId rau koj muab

*/

pej xeem khoob lug setDeptId ( Txoj hlua deptId ) {

no.deptId = deptId;

}

/**

* @return lub deptName

*/

pej xeem Txoj hlua getDeptName () {

rov qab mus deptName;

}

/**

* @param deptName

* cov deptName rau koj muab

*/

pej xeem khoob lug setDeptName ( Txoj hlua deptName ) {

no.deptName = deptName;

}

/*

* (tsis yog-Javadoc)

*

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

*/

@Override

pej xeem Txoj hlua toString () {

rov qab mus “Koom [ deptId =” + deptId + “, deptName =” + deptName + “]”;

}

}

[/Chaws]

Caij nplooj ntoos hlav qhia ib hoob hu ua JdbcTemplate template. Kawm no yog cov SQL paub databases thiab JDBC. Nyob rau hauv cov kev cai txog ib lub chaws JDBC yog nyob tas tuav tswj kev twb kev txuas, muab tshaaj, kos yoog, thiab yuam kev rau kev kuaj uas yog nyob hauv cov ntsiab lus teb peb yuav ua li cas after irreverent. Tus JdbcTemplate yuav siv sij hawm xyuas tag nrho tej no thiab ua tus tsim tawm peb yuav tsom rau cov lag luam logic. Ib tug qauv teg template hoob kawm no yog muaj li qis –

Listing3: Qauv uas qhia qhov kev siv ntawm JDBC template

[Chaws]

pob com.Home.springjdbc.dao;

ntshuam java.sql.Driver;

ntshuam java.sql.ResultSet;

ntshuam java.sql.SQLException;

ntshuam java.util.List;

ntshuam org.springframework.jdbc.core.JdbcTemplate;

ntshuam org.springframework.jdbc.core.RowMapper;

ntshuam org.springframework.jdbc.datasource.SimpleDriverDataSource;

ntshuam com.home.springjdbc.objects.Employee;

pej xeem hoob EmployeeDAO {

pej xeem zoo li qub khoob lug ntsiab ( Txoj hlua args[] ) {

// tej yam yooj yim DS sim seb (tsis tau ntau lawm!)

SimpleDriverDataSource dataSource = tshiab SimpleDriverDataSource();

dataSource.setDriverClass((Chav kawm ntawv<? extends Neeg tsav tsheb>) org.h2.Driver.hoob);

dataSource.setUsername( “sa” );

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

dataSource.setPassword( “” );

JdbcTemplate jdbcTemplate = tshiab JdbcTemplate(dataSource);

Tsim.tawm.println( “Npaj cov ntxhuav” );

jdbcTemplate.execute( “xa cov neeg ua hauj lwm cov lus yog tshwm sim” );

jdbcTemplate.execute( “sau cov neeg ua hauj lwm cov lus(”

+ “daim varchar(25), first_name varchar(255), middle_name varchar(255), last_name varchar(255), deptId varchar(25))”);

Txoj hlua[] cov ntaub ntawv = “E001 Thawj saib kev kawm Andrew Roberts D25; E002 Jeff Longman Dean D42; E003 Erin Nancy Kirkland D66;”.phua(“;”);

rau ( Txoj hlua singleRecord : cov ntaub ntawv ) {

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

Tsim.tawm.printf( ” Muab cov ntaub ntawv ua hauj lwm rau %s %s %s %s %sn”,cols[0], cols[1], cols[2], cols[3], cols[4]);

jdbcTemplate.update(“NTXIG RAU neeg ua hauj lwm(daim, first_name, middle_name, last_name, deptId) qhov tseem ceeb(?,?,?,?,?)”,cols[0], cols[1], cols[2], cols[3], cols[4]);

}

Tsim.tawm.println ( ” Querying rau cov neeg rau qhov twg first_name = 'Erin':” );

Sau<Neeg ua hauj lwm> ntsiab = jdbcTemplate.query(

“xaiv * los ntawm cov neeg ua hauj lwm qhov twg first_name = ?”,

tshiab Nruas[] { “Erin” }, tshiab RowMapper<Neeg ua hauj lwm>() {

@Override

pej xeem Neeg ua hauj lwm mapRow(Reye ResultSet, rau cov menyuam rowNum)

throws SQLException {

rov qab mus tshiab Neeg ua hauj lwm(rs.getString(“daim”),

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

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

}

});

rau (Cov neeg ua hauj lwm neeg ua hauj lwm : ntsiab) {

Tsim.tawm.println(neeg ua hauj lwm);

}

}

}

[/Chaws]

Nyob rau hauv qhov piv txwv li hais los saum toj, peb teev ib JDBC ntawv qhov siv lub SimpleDriverDataSource los ntawm lub caij nplooj ntoos hlav. Peb mam li siv peev no cov ntaub ntawv los yuav tsim tau lub JDBCTemplate lom. Thaum tsim cov hoob kawm JDBCTemplate, peb yuav tau yooj yim pib hu cov database. Ua ntej, peb tsim cov lus siv execute nug txog qhov template. Ces peb ntxig ob peb cov ntaub ntawv uas siv rau txoj kev hloov tshiab ntawm qhov template. Thaum kawg peb siv cov lus nug txoj kev mus nqa cov ntaub ntawv peb xaiv. Nyob hauv peb tus piv txwv peb tau siv ib cov lus nug yooj yim mus nqa cov ntaub ntawv los ntawm cov neeg ua hauj lwm cov lus. As per peb tsim peb pom tias tus neeg ua hauj lwm cov lus muaj ib tug piv nrog lub rooj koom ntawm sab – deptId. Li ntawd, peb tseem siv tau qhov chaws qub nqa cov ntaub ntawv pub ntxiv tshaj cov ntxhuav ob. Yog peb yuav hloov tau cov lus nug kom muab ib txis. Cov cai saum toj no yuav muab hloov raws li muaj –

Listing4: Qauv uas qhia cov lus nug uas hloov

[Chaws]

Sau<Neeg ua hauj lwm> ntsiab = jdbcTemplate.query(

“xaiv emp.first_name, emp.Middle _name, emp.last _name, Dept.dept_Name los ntawm cov neeg ua hauj lwm emp, fai dept qhov twg emp.first_name = ?”,

tshiab Nruas[] { “Erin” }, tshiab RowMapper<Neeg ua hauj lwm>() {

@Override

pej xeem EmployeeDtls mapRow(Reye ResultSet, rau cov menyuam rowNum)

throws SQLException {

rov qab mus tshiab Neeg ua hauj lwm( rs.getString(“first_name”),

rs.getString(“middle_name”),

rs.getString(“last_name”),

rs.getString(“dept_Name “));

}

});

rau (EmployeeDtls employeeDtl : ntsiab) {

Tsim.tawm.println(employeeDtl);

}

[/Chaws]

Txim tuag no peb yuav tsum muaj lwm POJO hoob EmployeeDtls li qis –

Listing5: Qauv uas qhia rau cov hoob kawm POJO EmployeeDtls

[Chaws]

pob com.Home.springjdbc.objects;

pej xeem hoob EmployeeDtls {

// Cov neeg ua hauj lwm lub npe

lwm yam Txoj hlua empFName;

// Cov neeg ua hauj lwm nruab nrab lub npe

lwm yam Txoj hlua empMName;

// Cov neeg ua hauj lwm mus txog lub npe

lwm yam Txoj hlua empLName;

// Lawv lub npe

lwm yam Txoj hlua deptName;

/**

* @param empFName

* @param empMName

* @param empLName

* @param deptName

*/

pej xeem EmployeeDtls(Txoj hlua empFName, Txoj hlua empMName, Txoj hlua empLName,

Txoj hlua deptName) {

super();

no.empFName = empFName;

no.empMName = empMName;

no.empLName = empLName;

no.deptName = deptName;

}

/*

* (tsis yog-Javadoc)

*

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

*/

@Override

pej xeem Txoj hlua toString() {

rov qab mus “EmployeeDtls [empFName =” + empFName + “, empMName =” + empMName

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

}

/**

* @return lub empFName

*/

pej xeem Txoj hlua getEmpFName() {

rov qab mus empFName;

}

/**

* @param empFName

* cov empFName rau koj muab

*/

pej xeem khoob lug setEmpFName(Txoj hlua empFName) {

no.empFName = empFName;

}

/**

* @return lub empMName

*/

pej xeem Txoj hlua getEmpMName() {

rov qab mus empMName;

}

/**

* @param empMName

* cov empMName rau koj muab

*/

pej xeem khoob lug setEmpMName(Txoj hlua empMName) {

no.empMName = empMName;

}

/**

* @return lub empLName

*/

pej xeem Txoj hlua getEmpLName() {

rov qab mus empLName;

}

/**

* @param empLName

* cov empLName rau koj muab

*/

pej xeem khoob lug setEmpLName(Txoj hlua empLName) {

no.empLName = empLName;

}

/**

* @return lub deptName

*/

pej xeem Txoj hlua getDeptName() {

rov qab mus deptName;

}

/**

* @param deptName

* cov deptName rau koj muab

*/

pej xeem khoob lug setDeptName(Txoj hlua deptName) {

no.deptName = deptName;

}

}

[/Chaws]
Txoj kev: Li ntawd nyob rau cov tshooj no peb pom li cas lub caij nplooj hlav JDBC template yuav siv Java raws li kev siv txuj thiab enterprise. Peb yuav tau tham qhov zoo ntawm qhov kev thiab raws li txoj kev loj hlob li cas nws yuav ua rau txoj kev loj hlob sai npaum li cas piv rau tus txheem JDBC.

Peb cia saib lub ntsab lug peb sib tham nyob rau hauv daim ntawv cov lus hauv qab no mos txwv ntxiv-

  • Caij nplooj ntoos hlav kuj yog ib qhov tseem ceeb rau txoj kev niaj hnub Java enterprise raws li daim ntawv thov kev loj hlob nyob.
  • Caij nplooj ntoos hlav muaj nyias khej, uas tawm hauv, lub JDBC template yog ib feem tseem ceeb.
  • Caij nplooj ntoos hlav JDBC template eases txoj kev loj hlob los ntawm kev noj cov load muab tshaaj, tswj kev twb kev txuas, kos yoog, thiab khij yam yuam kev xwb. Yog peb ua tus tsim tawm tau mloog zoo rau lub lag luam txoj scenario.
============================================= ============================================== Yuav zoo TechAlpine phau ntawv rau Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Txaus siab rau qhov blog? Tshaj tawm lus thov :)

Follow by Email
LinkedIn
LinkedIn
Share