List of usage examples for org.springframework.jdbc.core.namedparam MapSqlParameterSource MapSqlParameterSource
public MapSqlParameterSource(@Nullable Map<String, ?> values)
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); }