tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Interviews | Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 Spring > JDBC > Query for Object

Query for Object 

Spring JDBC Framework simplifies the use of JDBC and helps to avoid common errors. The following example shows querying for an object using JdbcTemplate class.


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

File Name  :  
com/bethecoder/tutorials/spring3/basic/User.java 
   
package com.bethecoder.tutorials.spring3.basic;

public class User {

  private int userId;
  private String userName;
  private int age;
  private long salary;
  
  public User() {
  }

  public User(int userId, String userName, int age, long salary) {
    super();
    this.userId = userId;
    this.userName = userName;
    this.age = age;
    this.salary = salary;
  }
  
  public int getUserId() {
    return userId;
  }
  public void setUserId(int userId) {
    this.userId = userId;
  }
  public String getUserName() {
    return userName;
  }
  public void setUserName(String userName) {
    this.userName = userName;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  public long getSalary() {
    return salary;
  }
  public void setSalary(long salary) {
    this.salary = salary;
  }
  
  public String toString() {
    return "User[" + userId + ", " + userName + ", " + age + ", " + salary + "]";
  }
}
   

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

import java.sql.ResultSet;
import java.sql.SQLException;

import javax.sql.DataSource;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import com.bethecoder.tutorials.spring3.basic.User;

public class QueryForObjectTest {

  /**
   @param args
   */
  public static void main(String[] args) {

    /**
     * Initialize context and get the JdbcTemplate
     */
    ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext.xml");
    DataSource dataSource = (DataSourceappContext.getBean("dataSource");
    JdbcTemplate template = new JdbcTemplate(dataSource);

    int userId = 1;
    User user = template.queryForObject(
        "select * from USER where ID = ?"new RowMapper<User>() {

          @Override
          public User mapRow(ResultSet rs, int rowNum)
          throws SQLException {
            
            return new User(
              rs.getInt("ID"),
              rs.getString("NAME"),
              rs.getInt("age"),
              rs.getLong("SALARY")
            );
          }

    }, userId);

    System.out.println(user);
  }

}
   

It gives the following output,
User[1, Sriram, 2, 20000000]



 
  


  
bl  br