tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Interviews | Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 Spring > JDBC > Named Parameter Bean Properties

Named Parameter Bean Properties 

Spring JDBC Framework simplifies the use of JDBC and helps to avoid common errors. The following example shows querying records using NamedParameterJdbcTemplate and BeanPropertySqlParameterSource classes. It extracts the specified named parameters from the given bean for query execution.


File Name  :  
/SpringJDBC001/conf/basic/applicationContext.xml 

File Name  :  
com/bethecoder/tutorials/spring3/tests/NamedParameterBeanPropTest.java 
Author  :  Sudhakar KV
Email  :  [email protected]
   
package com.bethecoder.tutorials.spring3.tests;

import java.util.List;
import java.util.Map;

import javax.sql.DataSource;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.core.namedparam.SqlParameterSource;

public class NamedParameterBeanPropTest {

  /**
   @param args
   */
  public static void main(String[] args) {
    
    /**
     * Initialize context and get the NamedParameterJdbcTemplate
     */
    ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext.xml");
    DataSource dataSource = (DataSourceappContext.getBean("dataSource");
    NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(dataSource);

    Pager pager = new Pager(13);
    SqlParameterSource namedParameters = new BeanPropertySqlParameterSource(pager);
    
    List<Map<String, Object>> rows = template.queryForList(
        "select ID, NAME, AGE from USER where ID >= :startId and ID < :endId"
        namedParameters);
    
    System.out.println(rows);
  }
}

class Pager {
  private int startId;
  private int endId;
  
  public Pager(int startId, int endId) {
    super();
    this.startId = startId;
    this.endId = endId;
  }
  public int getStartId() {
    return startId;
  }
  public void setStartId(int startId) {
    this.startId = startId;
  }
  public int getEndId() {
    return endId;
  }
  public void setEndId(int endId) {
    this.endId = endId;
  }
}
   

It gives the following output,
[{ID=1, NAME=Sriram, AGE=2}, {ID=2, NAME=Anu, AGE=28}]



 
  


  
bl  br