Spring Java Tutorial

File: context.xml


       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:util="http://www.springframework.org/schema/util"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:lang="http://www.springframework.org/schema/lang"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
                           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
                           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
                           http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.0.xsd">

    
    
    
    
    
    

    
        
    
    
    
        
    

File: Main.java

import java.sql.Types;
import java.util.Collections;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.SqlOutParameter;
import org.springframework.jdbc.object.StoredProcedure;
class Main {
  public static void main(String args[]) throws Exception {
    ApplicationContext ac = new ClassPathXmlApplicationContext("context.xml", Main.class);
    DataSource dataSource = (DataSource) ac.getBean("dataSource");
    //DataSource mysqlDataSource = (DataSource) ac.getBean("mysqlDataSource");
    MeaningOfLife meaningOfLife = new MeaningOfLife(dataSource);
    
    Map result = meaningOfLife.execute(Collections.emptyMap());
    System.out.println(result.values().iterator().next());
  }
}
class MeaningOfLife extends StoredProcedure {
  private static final String SQL = "f_calculate";
  MeaningOfLife(DataSource dataSource) {
      super(dataSource, SQL);
      setFunction(true);
      declareParameter(new SqlOutParameter("n", Types.INTEGER));
  }
  int executeAndGet() {
     return (Integer)execute(Collections.emptyMap()).values().iterator().next();
  }
}