Example usage for org.springframework.jdbc.core.simple SimpleJdbcCall SimpleJdbcCall

List of usage examples for org.springframework.jdbc.core.simple SimpleJdbcCall SimpleJdbcCall

Introduction

In this page you can find the example usage for org.springframework.jdbc.core.simple SimpleJdbcCall SimpleJdbcCall.

Prototype

public SimpleJdbcCall(JdbcTemplate jdbcTemplate) 

Source Link

Document

Alternative Constructor that takes one parameter with the JdbcTemplate to be used.

Usage

From source file:Implement.DAO.CommonDAOImpl.java

@Override
public ProviderSignupForm getProviderSignupForm() {
    simpleJdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("getProviderSignupForm");
    simpleJdbcCall.returningResultSet("rs1", CountryMapper.getInstance())
            .returningResultSet("rs2", BusinessTypeMapper.getInstance())
            .returningResultSet("rs3", CityDTOMapper.getInstance());
    SqlParameterSource in = new MapSqlParameterSource();
    Map<String, Object> record = simpleJdbcCall.execute(in);
    List<CountryDTO> countries = (List<CountryDTO>) record.get("rs1");
    List<BusinessTypeDTO> businessTypes = (List<BusinessTypeDTO>) record.get("rs2");
    List<CityDTO> cities = (List<CityDTO>) record.get("rs3");
    return new ProviderSignupForm(countries, businessTypes, cities);
}

From source file:Implement.DAO.CommonDAOImpl.java

@Override
public AdvancedSearchForm liveSearch(String searchText) {
    simpleJdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("liveSearch");
    simpleJdbcCall.returningResultSet("rs1", new RowMapper<String>() {

        @Override//w ww . java2 s . com
        public String mapRow(ResultSet rs, int i) throws SQLException {
            return rs.getString("Keyword");
        }
    }).returningResultSet("rs2", PopularPackageMapper.getInstance()).returningResultSet("rs3",
            LocationDTOMapper.getInstance());
    SqlParameterSource in = new MapSqlParameterSource().addValue("searchText", searchText);
    Map<String, Object> record = simpleJdbcCall.execute(in);

    List<String> keywords = (List<String>) record.get("rs1");
    List<LocationDTO> locations = (List<LocationDTO>) record.get("rs3");
    List<PopularPackageDTO> popularPackages = (List<PopularPackageDTO>) record.get("rs2");
    return new AdvancedSearchForm(keywords, locations, popularPackages);
}

From source file:Implement.DAO.CommonDAOImpl.java

@Override
public AdvancedSearchForm searchPackageBelongtoSub(String searchText, String location, int subID,
        int pageNumber, int pageSize) {
    simpleJdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("searchPackagesBelongsToSub");
    simpleJdbcCall.returningResultSet("rs1", PackagesViewMapper.getInstance())
            .returningResultSet("rs2", new RowMapper<String>() {

                @Override/* ww w  . j  a v a2s  .  c o  m*/
                public String mapRow(ResultSet rs, int i) throws SQLException {
                    return rs.getString("Keyword");
                }
            }).returningResultSet("rs3", PopularPackageMapper.getInstance())
            .returningResultSet("rs4", LocationDTOMapper.getInstance());
    SqlParameterSource in = new MapSqlParameterSource().addValue("searchText", searchText)
            .addValue("location", location).addValue("subID", subID).addValue("PageNumber", pageNumber)
            .addValue("RowspPage", pageSize);
    Map<String, Object> record = simpleJdbcCall.execute(in);
    List<PackagesViewDTO> packages = (List<PackagesViewDTO>) record.get("rs1");
    List<String> keywords = (List<String>) record.get("rs2");
    List<LocationDTO> locations = (List<LocationDTO>) record.get("rs4");
    List<PopularPackageDTO> popularPackages = (List<PopularPackageDTO>) record.get("rs3");
    return new AdvancedSearchForm(packages, keywords, locations, popularPackages);
}

From source file:Implement.DAO.CommonDAOImpl.java

@Override
public AccountSession loginToYouTripperFacebook(String email) {
    simpleJdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("loginToYoutripperFacebook");
    SqlParameterSource in = new MapSqlParameterSource().addValue("username", email);
    Map<String, Object> record = simpleJdbcCall.execute(in);
    int id = (int) record.get("id");
    String name = (String) record.get("name");
    int type = (int) record.get("type");
    String image = (String) record.get("image");
    String token = (String) record.get("token");
    return new AccountSession(id, name, type, image, token);
}

From source file:org.springframework.jdbc.core.simple.SimpleJdbcCallTests.java

public void testNoSuchStoredProcedure() throws Exception {
    final String NO_SUCH_PROC = "x";

    mockDatabaseMetaData.getDatabaseProductName();
    ctrlDatabaseMetaData.setReturnValue("MyDB");
    mockDatabaseMetaData.getDatabaseProductName();
    ctrlDatabaseMetaData.setReturnValue("MyDB");
    mockDatabaseMetaData.getUserName();//from w  w  w. ja  v  a2s.c  om
    ctrlDatabaseMetaData.setReturnValue("me");
    mockDatabaseMetaData.supportsCatalogsInProcedureCalls();
    ctrlDatabaseMetaData.setReturnValue(false);
    mockDatabaseMetaData.supportsSchemasInProcedureCalls();
    ctrlDatabaseMetaData.setReturnValue(false);
    mockDatabaseMetaData.storesUpperCaseIdentifiers();
    ctrlDatabaseMetaData.setReturnValue(false);
    mockDatabaseMetaData.storesLowerCaseIdentifiers();
    ctrlDatabaseMetaData.setReturnValue(true);

    SQLException sex = new SQLException("Syntax error or access violation exception", "42000");
    mockCallable.execute();
    ctrlCallable.setThrowable(sex);
    mockCallable.close();
    ctrlCallable.setVoidCallable();

    mockConnection.prepareCall("{call " + NO_SUCH_PROC + "()}");
    ctrlConnection.setReturnValue(mockCallable);

    replay();

    SimpleJdbcCall sproc = new SimpleJdbcCall(mockDataSource).withProcedureName(NO_SUCH_PROC);
    try {
        sproc.execute();
        fail("Shouldn't succeed in running stored procedure which doesn't exist");
    } catch (BadSqlGrammarException ex) {
        // OK
    }
}

From source file:org.springframework.jdbc.core.simple.SimpleJdbcCallTests.java

public void testUnnamedParameterHandling() throws Exception {
    final String MY_PROC = "my_proc";

    replay();/*from   w ww .  j av a  2s.c om*/

    SimpleJdbcCall sproc = new SimpleJdbcCall(mockDataSource).withProcedureName(MY_PROC);
    try {
        sproc.addDeclaredParameter(new SqlParameter(1));
        fail("Shouldn't succeed in adding unnamed parameter");
    } catch (InvalidDataAccessApiUsageException ex) {
        // OK
    }
}

From source file:org.springframework.jdbc.core.simple.SimpleJdbcCallTests.java

public void testAddInvoiceProcWithoutMetaDataUsingMapParamSource() throws Exception {
    final int amount = 1103;
    final int custid = 3;

    initializeAddInvoiceWithoutMetaData(false);

    replay();// w  w  w .  j  ava2 s.  c  o m

    SimpleJdbcCall adder = new SimpleJdbcCall(mockDataSource).withProcedureName("add_invoice");
    adder.declareParameters(new SqlParameter("amount", Types.INTEGER),
            new SqlParameter("custid", Types.INTEGER), new SqlOutParameter("newid", Types.INTEGER));
    Number newId = adder.executeObject(Number.class,
            new MapSqlParameterSource().addValue("amount", amount).addValue("custid", custid));
    assertEquals(4, newId.intValue());
}

From source file:org.springframework.jdbc.core.simple.SimpleJdbcCallTests.java

public void testAddInvoiceProcWithoutMetaDataUsingArrayParams() throws Exception {
    final int amount = 1103;
    final int custid = 3;

    initializeAddInvoiceWithoutMetaData(false);

    replay();//from w  w w. j ava2s . c o  m

    SimpleJdbcCall adder = new SimpleJdbcCall(mockDataSource).withProcedureName("add_invoice");
    adder.declareParameters(new SqlParameter("amount", Types.INTEGER),
            new SqlParameter("custid", Types.INTEGER), new SqlOutParameter("newid", Types.INTEGER));
    Number newId = adder.executeObject(Number.class, amount, custid);
    assertEquals(4, newId.intValue());
}

From source file:org.springframework.jdbc.core.simple.SimpleJdbcCallTests.java

public void testAddInvoiceProcWithMetaDataUsingMapParamSource() throws Exception {
    final int amount = 1103;
    final int custid = 3;

    MockControl ctrlResultSet = initializeAddInvoiceWithMetaData(false);

    ctrlResultSet.replay();/*from   www .  ja v a2  s  .c o m*/
    replay();

    SimpleJdbcCall adder = new SimpleJdbcCall(mockDataSource).withProcedureName("add_invoice");
    Number newId = adder.executeObject(Number.class,
            new MapSqlParameterSource().addValue("amount", amount).addValue("custid", custid));
    assertEquals(4, newId.intValue());

    ctrlResultSet.verify();
}

From source file:org.springframework.jdbc.core.simple.SimpleJdbcCallTests.java

public void testAddInvoiceProcWithMetaDataUsingArrayParams() throws Exception {
    final int amount = 1103;
    final int custid = 3;

    MockControl ctrlResultSet = initializeAddInvoiceWithMetaData(false);

    ctrlResultSet.replay();/*from  w  ww  .ja v  a2s .c  o m*/
    replay();

    SimpleJdbcCall adder = new SimpleJdbcCall(mockDataSource).withProcedureName("add_invoice");
    Number newId = adder.executeObject(Number.class, amount, custid);
    assertEquals(4, newId.intValue());

    ctrlResultSet.verify();
}