Example usage for org.springframework.jdbc.core.namedparam MapSqlParameterSource MapSqlParameterSource

List of usage examples for org.springframework.jdbc.core.namedparam MapSqlParameterSource MapSqlParameterSource

Introduction

In this page you can find the example usage for org.springframework.jdbc.core.namedparam MapSqlParameterSource MapSqlParameterSource.

Prototype

public MapSqlParameterSource(@Nullable Map<String, ?> values) 

Source Link

Document

Create a new MapSqlParameterSource based on a Map.

Usage

From source file:com.github.ferstl.spring.jdbc.oracle.OracleNamedParameterJdbcTemplateTest.java

@Test
public void commonPrefix() throws SQLException {
    Map<String, Object> map = new HashMap<>(3);
    map.put("arg", 10);
    map.put("arg2", 20);
    String sql = "SELECT 1 FROM dual WHERE 10 = :arg or 20 = :arg2";
    PreparedStatementCreator preparedStatementCreator = this.namedJdbcTemplate.getPreparedStatementCreator(sql,
            new MapSqlParameterSource(map));

    Connection connection = mock(Connection.class);
    PreparedStatement preparedStatement = mock(PreparedStatement.class);
    OraclePreparedStatement oracleStatement = mock(OraclePreparedStatement.class);

    when(connection.prepareStatement(sql)).thenReturn(preparedStatement);
    when(preparedStatement.unwrap(OraclePreparedStatement.class)).thenReturn(oracleStatement);

    preparedStatementCreator.createPreparedStatement(connection);

    verify(oracleStatement).setObjectAtName("arg", 10);
    verify(oracleStatement).setObjectAtName("arg2", 20);
}

From source file:pl.edu.agh.samm.db.impl.MeasurementValueDAO.java

@Override
public List<MeasurementValue> getHistoricalMeasurementValues(String resourceURI, String capabilityURI,
        Date startTime, Date endTime) {
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("instanceUri", resourceURI);
    params.put("capabilityUri", capabilityURI);
    params.put("start", startTime);
    params.put("end", endTime);
    SqlParameterSource sps = new MapSqlParameterSource(params);
    return getSimpleJdbcTemplate().query(SQL_QUERY_MEASUREMENT_BY_CAPABILITY_BETWEEN_DATE,
            new MeasurementValueRowMapper(), sps);
}

From source file:com.blackducksoftware.tools.appedit.naiaudit.dao.jdbc.JdbcVulnNaiAuditDetailsDao.java

@Override
public VulnNaiAuditDetails getVulnNaiAuditDetails(final AppCompVulnKey key) throws AppEditException {

    final String SQL = SQL_FETCH_ONE_VULNERABILITY_BY_KEY;
    final Map<String, String> paramMap = new HashMap<>();
    paramMap.put("appId", key.getApplicationId());
    paramMap.put("compUseId", key.getRequestId());
    paramMap.put("compId", key.getComponentId());
    paramMap.put("vulnId", key.getVulnerabilityId());
    final SqlParameterSource namedParameters = new MapSqlParameterSource(paramMap);
    logger.debug("Getting vulnNaiAuditDetails for key " + key + "; SQL: " + SQL);

    List<VulnNaiAuditDetails> vulnNaiAuditDetailsList = null;
    try {//from  w  ww  . j a  va 2 s.  c om
        vulnNaiAuditDetailsList = jdbcTemplate.query(SQL, namedParameters, new VulnNaiAuditDetailsMapper());
    } catch (final BadSqlGrammarException e) {
        final String msg = "Error getting NAI Audit details for vulnerability. Make sure the NAI Audit database tables have been created. Details: "
                + e.getMessage();
        logger.error(msg);
        throw new IllegalStateException(msg);
    }

    logger.debug("Read " + vulnNaiAuditDetailsList.size() + " vulnNaiAuditDetail records.");

    if (vulnNaiAuditDetailsList.size() == 0) {
        logger.warn("No NAI Audit details record found for key: " + key);
        return null;
    } else if (vulnNaiAuditDetailsList.size() > 1) {
        final String msg = "The NAI Audit details contains " + vulnNaiAuditDetailsList.size()
                + "records with key " + key + "; it should contains at most one";
        logger.error(msg);
        throw new IllegalStateException(msg);
    }

    return vulnNaiAuditDetailsList.get(0);
}

From source file:com.github.ferstl.spring.jdbc.oracle.OracleNamedParameterJdbcTemplateTest.java

@Test
@Ignore("unsupported")
public void collection() throws SQLException {
    Map<String, Object> map = new HashMap<>(3);
    map.put("ten", 10);
    map.put("twenty", 20);
    map.put("collection", Arrays.asList(1, 23, 42));
    String sql = "SELECT 1 FROM dual WHERE 10 = :ten or 42 in (:collection) or 20 = :twenty";
    String expectedSql = "SELECT 1 FROM dual WHERE 10 = :ten or 42 in (?,?,?) or 20 = :twenty";
    PreparedStatementCreator preparedStatementCreator = this.namedJdbcTemplate.getPreparedStatementCreator(sql,
            new MapSqlParameterSource(map));

    Connection connection = mock(Connection.class);
    PreparedStatement preparedStatement = mock(PreparedStatement.class);

    when(connection.prepareStatement(expectedSql)).thenReturn(preparedStatement);

    preparedStatementCreator.createPreparedStatement(connection);

    verify(preparedStatement).setObject(1, 10);
    verify(preparedStatement).setObject(2, 1);
    verify(preparedStatement).setObject(3, 23);
    verify(preparedStatement).setObject(4, 42);
    verify(preparedStatement).setObject(5, 20);
}

From source file:com.p5solutions.core.jpa.orm.EntityPersisterImpl.java

@Override
public Long executeDML(String sql, Map<String, Object> params) {
    MapSqlParameterSource paramSource = new MapSqlParameterSource(params);
    // TODO <Object> should be of type T? how? import
    // org.apache.poi.hssf.record.formula.functions.T;??
    Integer updated = getJdbcTemplate().execute(sql, paramSource,
            new PersistPreparedStatementCallback<Integer>());
    return updated != null ? updated.longValue() : 0L;
    //return 0L;/*from   w ww. ja v  a  2s  .co  m*/
}

From source file:com.hexin.core.dao.BaseDaoSupport.java

@Override
public Integer insertReturnPK(String sql, Map<String, ?> args) {

    long startTime = System.currentTimeMillis();
    long endTime;
    long durTime;

    debugSql(sql, args);//  www .ja  v  a 2  s.  c  o m

    DataSource dataSource = (DataSource) ContextUtil.getBean("dataSource");

    NamedParameterJdbcTemplate namedJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
    SqlParameterSource ps = new MapSqlParameterSource(args);
    KeyHolder holder = new GeneratedKeyHolder();

    namedJdbcTemplate.update(sql, ps, holder);
    Integer pk = holder.getKey().intValue();

    endTime = System.currentTimeMillis();
    durTime = endTime - startTime;
    logger.debug("This jdbc operation costs time: " + durTime);

    return pk;
}

From source file:net.turnbig.jdbcx.JdbcxDaoSupport.java

public KeyHolder insert(String sql, Map<String, ?> paramMap) {
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getNamedParameterJdbcTemplate().update(sql, new MapSqlParameterSource(paramMap), keyHolder);
    return keyHolder;
}

From source file:com.github.ferstl.spring.jdbc.oracle.OracleNamedParameterJdbcTemplateTest.java

@Test
@Ignore("unsupported")
public void endsWithCollection() throws SQLException {
    Map<String, Object> map = new HashMap<>(3);
    map.put("ten", 10);
    map.put("twenty", 20);
    map.put("collection", Arrays.asList(1, 23, 42));
    String sql = "SELECT 1 FROM dual WHERE 10 = :ten or 42 in (:collection)";
    String expectedSql = "SELECT 1 FROM dual WHERE 10 = :ten or 42 in (?,?,?)";
    PreparedStatementCreator preparedStatementCreator = this.namedJdbcTemplate.getPreparedStatementCreator(sql,
            new MapSqlParameterSource(map));

    Connection connection = mock(Connection.class);
    PreparedStatement preparedStatement = mock(PreparedStatement.class);

    when(connection.prepareStatement(expectedSql)).thenReturn(preparedStatement);

    preparedStatementCreator.createPreparedStatement(connection);

    verify(preparedStatement).setObject(1, 10);
    verify(preparedStatement).setObject(2, 1);
    verify(preparedStatement).setObject(3, 23);
    verify(preparedStatement).setObject(4, 42);
}

From source file:net.turnbig.jdbcx.JdbcxDaoSupport.java

public KeyHolder insert(String sql, Map<String, ?> paramMap, String... keyColumnNames)
        throws DataAccessException {
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getNamedParameterJdbcTemplate().update(sql, new MapSqlParameterSource(paramMap), keyHolder, keyColumnNames);
    return keyHolder;
}

From source file:net.turnbig.jdbcx.JdbcxDaoSupport.java

public final int[] batchUpdate(String sql, @SuppressWarnings("unchecked") Map<String, ?>... batchValues) {
    SqlParameterSource[] batchArgs = new SqlParameterSource[batchValues.length];
    int i = 0;/*from   w  w  w .j a va2  s  .co  m*/
    for (Map<String, ?> values : batchValues) {
        batchArgs[i] = new MapSqlParameterSource(values);
        i++;
    }
    return getNamedParameterJdbcTemplate().batchUpdate(sql, batchArgs);
}