کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش 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);  
}  
}  
1398/12/20 1763 491
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...