مشخصات مقاله
-
491
-
0.0
-
1763
-
0
-
0
آموزش Simple Jdbc Template-Java Spring
قالب SimpleJdbc
مثال SimpleJdbcTemplate در اسپرینگ
اسپرینگ 3 JDBC از ویژگی var-args (آرگومان متغیرvariable argument) و autoboxing جاوا 5 (java) با کمک کلاس قالب SimpleJdbc، پشتیبانی می کند. کلاس SimpleJdbcTemplate کلاس JdbcTemplate را پنهان می کند و یک متد به روزرسانی (update) که بتوانیم تعداد دلخواهی از آرگومان ها را پاس دهیم، فراهم می کند.
مثال SimpleJdbcTemplate در اسپرینگ
int update(String sql,Object... parameters)
مثال کلاس SimpleJdbcTemplate
فرض می کنیم جدول زیر را درون پایگاه داده Oracle10g ایجاد کرده اید.
create table employee( id number(10), name varchar2(100), salary number(10) );
Employee.java
این کلاس شامل سه خصیصه به همراه سازنده ها و setter و getter ها است.
package com.javatpoint;
public class Employee {
private int id;
private String name;
private float salary;
//no-arg and parameterized constructors
//getters and setters
}
EmployeeDao.java
این شامل یک خصیصه SimpleJdbcTemplate و یک متد به روز رسانی است . در این مورد، متد به روز رسانی فقط نام را برای شناسه متناظر به روز رسانی می¬کند. اگر بخواهید هم نام و هم حقوق (salary) را به روز رسانی کنید، دو خط بالا از کد متد به روز رسانی را یادداشت(comment) کنید و دو خط کد که در زیر آمده را از حالت یادداشت خارج کنید(uncomment).
package com.javatpoint;
import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;
public class EmpDao {
SimpleJdbcTemplate template;
public EmpDao(SimpleJdbcTemplate template) {
this.template = template;
}
public int update (Emp e){
String query="update employee set name=? where id=?";
return template.update(query,e.getName(),e.getId());
//String query="update employee set name=?,salary=? where id=?";
//return template.update(query,e.getName(),e.getSalary(),e.getId());
}
}
applicationContext.xml
از DriverManagerDataSource برای نگهداری اطلاعات درباره پایگاه داده، از جمله نام کلاس driver، اتصال URL، نام کاربری و رمز عبور استفاده می شود. یک خصیصه به نام datasource در کلاس SimpleJdbcTemplate از نوع DriverManagerDataSource وجود دارد. بنابراین برای خصیصه datasource باید مرجع شی DriverManagerDataSource در کلاس SimpleJdbcTemplate را آماده کنیم. در اینجا از شی SimpleJdbcTemplate در کلاس EmployeeDao استفاده می کنیم. بنابراین از سازنده برای پاس دادن آن استفاده می کنیم. شما همچنین می توانید از متد setter استفاده کنید.
< ?xml version="1.0" encoding="UTF-8" ? >
< beans 3. xmlns="http://www.springframework.org/schema/beans"
4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5. xmlns:p="http://www.springframework.org/schema/p"
6. xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" >
< bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
< property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
< property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
< property name="username" value="system" />
< property name="password" value="oracle" />
< /bean>
< bean id="jtemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
< constructor-arg ref="ds">< /constructor-arg>
< /bean>
< bean id="edao" class="com.javatpoint.EmpDao">
< constructor-arg>
< ref bean="jtemplate" />
< /constructor-arg>
< /bean>
< /beans>
< /pre>
SimpleTest.java
این کلاس bean را از فایل applicationContext.xml می گیرد و متد به روز رسانی از کلاس EmpDao را فراخوانی می کند.
package com.javatpoint;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
public class SimpleTest {
public static void main(String[] args) {
Resource r=new ClassPathResource("applicationContext.xml");
BeanFactory factory=new XmlBeanFactory(r);
EmpDao dao=(EmpDao)factory.getBean("edao");
int status=dao.update(new Emp(23,"Tarun",35000));
System.out.println(status);
}
}