public void setDataSource(DataSource dataSource) { this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource); } }
/** * Public setter for the data source for injection purposes. * * @param dataSource {@link javax.sql.DataSource} to use for querying against */ public void setDataSource(DataSource dataSource) { if (namedParameterJdbcTemplate == null) { this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource); } }
public JdbcPagingListFactory(JdbcTemplate jdbcTemplate, LimitSqlAdapter limitSqlAdapter) { this.jdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate); this.limitSqlAdapter = limitSqlAdapter; }
public void setDataSource(DataSource dataSource) { this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource); } }
public void setDataSource(DataSource dataSource) { this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource); } }
public void setDataSource(DataSource dataSource) { this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource); } }
public JdbcPagingList(JdbcTemplate jdbcTemplate, LimitSqlAdapter limitSqlAdapter, String sql, Map<String, ?> args, RowMapper<E> mapper, int pageSize) { this(new NamedParameterJdbcTemplate(jdbcTemplate), limitSqlAdapter, sql, args, mapper, pageSize); }
/** * Create a NamedParameterJdbcTemplate based on the configured JdbcTemplate. */ @Override protected void initTemplateConfig() { JdbcTemplate jdbcTemplate = getJdbcTemplate(); if (jdbcTemplate != null) { this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate); } }
public JdbcClientDetailsService(DataSource dataSource) { Assert.notNull(dataSource, "DataSource required"); this.jdbcTemplate = new JdbcTemplate(dataSource); this.listFactory = new DefaultJdbcListFactory(new NamedParameterJdbcTemplate(jdbcTemplate)); }
public MultitenantJdbcClientDetailsService(JdbcTemplate jdbcTemplate) { Assert.notNull(jdbcTemplate, "JDbcTemplate required"); this.jdbcTemplate = jdbcTemplate; this.listFactory = new DefaultJdbcListFactory(new NamedParameterJdbcTemplate(jdbcTemplate)); }
protected AbstractQueryable(JdbcTemplate jdbcTemplate, JdbcPagingListFactory pagingListFactory, RowMapper<T> rowMapper) { queryConverter = new SimpleSearchQueryConverter(); this.jdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate); this.pagingListFactory = pagingListFactory; this.rowMapper = rowMapper; }
@Test public void testNullDataSourceProvidedToCtor() { thrown.expect(IllegalArgumentException.class); new NamedParameterJdbcTemplate((DataSource) null); }
@Test public void testNullJdbcTemplateProvidedToCtor() { thrown.expect(IllegalArgumentException.class); new NamedParameterJdbcTemplate((JdbcOperations) null); }
@Test public void testBatchUpdateWithEmptyMap() throws Exception { @SuppressWarnings("unchecked") final Map<String, Integer>[] ids = new Map[0]; namedParameterTemplate = new NamedParameterJdbcTemplate(new JdbcTemplate(dataSource, false)); int[] actualRowsAffected = namedParameterTemplate.batchUpdate( "UPDATE NOSUCHTABLE SET DATE_DISPATCHED = SYSDATE WHERE ID = :id", ids); assertTrue("executed 0 updates", actualRowsAffected.length == 0); }
@Test public void testBatchUpdateWithInClause() throws Exception { @SuppressWarnings("unchecked") Map<String, Object>[] parameters = new Map[2]; parameters[0] = Collections.singletonMap("ids", Arrays.asList(1, 2)); parameters[1] = Collections.singletonMap("ids", Arrays.asList(3, 4)); final int[] rowsAffected = new int[] {1, 2}; given(preparedStatement.executeBatch()).willReturn(rowsAffected); given(connection.getMetaData()).willReturn(databaseMetaData); JdbcTemplate template = new JdbcTemplate(dataSource, false); namedParameterTemplate = new NamedParameterJdbcTemplate(template); int[] actualRowsAffected = namedParameterTemplate.batchUpdate( "delete sometable where id in (:ids)", parameters ); assertEquals("executed 2 updates", 2, actualRowsAffected.length); InOrder inOrder = inOrder(preparedStatement); inOrder.verify(preparedStatement).setObject(1, 1); inOrder.verify(preparedStatement).setObject(2, 2); inOrder.verify(preparedStatement).addBatch(); inOrder.verify(preparedStatement).setObject(1, 3); inOrder.verify(preparedStatement).setObject(2, 4); inOrder.verify(preparedStatement).addBatch(); inOrder.verify(preparedStatement, atLeastOnce()).close(); verify(connection, atLeastOnce()).close(); }
@Test public void testBatchUpdateWithPlainMap() throws Exception { @SuppressWarnings("unchecked") final Map<String, Integer>[] ids = new Map[2]; ids[0] = Collections.singletonMap("id", 100); ids[1] = Collections.singletonMap("id", 200); final int[] rowsAffected = new int[] {1, 2}; given(preparedStatement.executeBatch()).willReturn(rowsAffected); given(connection.getMetaData()).willReturn(databaseMetaData); namedParameterTemplate = new NamedParameterJdbcTemplate(new JdbcTemplate(dataSource, false)); int[] actualRowsAffected = namedParameterTemplate.batchUpdate( "UPDATE NOSUCHTABLE SET DATE_DISPATCHED = SYSDATE WHERE ID = :id", ids); assertTrue("executed 2 updates", actualRowsAffected.length == 2); assertEquals(rowsAffected[0], actualRowsAffected[0]); assertEquals(rowsAffected[1], actualRowsAffected[1]); verify(connection).prepareStatement("UPDATE NOSUCHTABLE SET DATE_DISPATCHED = SYSDATE WHERE ID = ?"); verify(preparedStatement).setObject(1, 100); verify(preparedStatement).setObject(1, 200); verify(preparedStatement, times(2)).addBatch(); verify(preparedStatement, atLeastOnce()).close(); verify(connection, atLeastOnce()).close(); }
@Test public void testBatchUpdateWithSqlParameterSource() throws Exception { SqlParameterSource[] ids = new SqlParameterSource[2]; ids[0] = new MapSqlParameterSource("id", 100); ids[1] = new MapSqlParameterSource("id", 200); final int[] rowsAffected = new int[] {1, 2}; given(preparedStatement.executeBatch()).willReturn(rowsAffected); given(connection.getMetaData()).willReturn(databaseMetaData); namedParameterTemplate = new NamedParameterJdbcTemplate(new JdbcTemplate(dataSource, false)); int[] actualRowsAffected = namedParameterTemplate.batchUpdate( "UPDATE NOSUCHTABLE SET DATE_DISPATCHED = SYSDATE WHERE ID = :id", ids); assertTrue("executed 2 updates", actualRowsAffected.length == 2); assertEquals(rowsAffected[0], actualRowsAffected[0]); assertEquals(rowsAffected[1], actualRowsAffected[1]); verify(connection).prepareStatement("UPDATE NOSUCHTABLE SET DATE_DISPATCHED = SYSDATE WHERE ID = ?"); verify(preparedStatement).setObject(1, 100); verify(preparedStatement).setObject(1, 200); verify(preparedStatement, times(2)).addBatch(); verify(preparedStatement, atLeastOnce()).close(); verify(connection, atLeastOnce()).close(); }
@Before public void setup() throws Exception { connection = mock(Connection.class); dataSource = mock(DataSource.class); preparedStatement = mock(PreparedStatement.class); resultSet = mock(ResultSet.class); resultSetMetaData = mock(ResultSetMetaData.class); template = new NamedParameterJdbcTemplate(dataSource); given(dataSource.getConnection()).willReturn(connection); given(resultSetMetaData.getColumnCount()).willReturn(1); given(resultSetMetaData.getColumnLabel(1)).willReturn("age"); given(connection.prepareStatement(anyString())).willReturn(preparedStatement); given(preparedStatement.executeQuery()).willReturn(resultSet); }
@Test public void testBatchUpdateWithSqlParameterSourcePlusTypeInfo() throws Exception { SqlParameterSource[] ids = new SqlParameterSource[2]; ids[0] = new MapSqlParameterSource().addValue("id", 100, Types.NUMERIC); ids[1] = new MapSqlParameterSource().addValue("id", 200, Types.NUMERIC); final int[] rowsAffected = new int[] {1, 2}; given(preparedStatement.executeBatch()).willReturn(rowsAffected); given(connection.getMetaData()).willReturn(databaseMetaData); namedParameterTemplate = new NamedParameterJdbcTemplate(new JdbcTemplate(dataSource, false)); int[] actualRowsAffected = namedParameterTemplate.batchUpdate( "UPDATE NOSUCHTABLE SET DATE_DISPATCHED = SYSDATE WHERE ID = :id", ids); assertTrue("executed 2 updates", actualRowsAffected.length == 2); assertEquals(rowsAffected[0], actualRowsAffected[0]); assertEquals(rowsAffected[1], actualRowsAffected[1]); verify(connection).prepareStatement("UPDATE NOSUCHTABLE SET DATE_DISPATCHED = SYSDATE WHERE ID = ?"); verify(preparedStatement).setObject(1, 100, Types.NUMERIC); verify(preparedStatement).setObject(1, 200, Types.NUMERIC); verify(preparedStatement, times(2)).addBatch(); verify(preparedStatement, atLeastOnce()).close(); verify(connection, atLeastOnce()).close(); }
@Before public void setup() throws Exception { connection = mock(Connection.class); dataSource = mock(DataSource.class); preparedStatement = mock(PreparedStatement.class); resultSet = mock(ResultSet.class); namedParameterTemplate = new NamedParameterJdbcTemplate(dataSource); databaseMetaData = mock(DatabaseMetaData.class); given(dataSource.getConnection()).willReturn(connection); given(connection.prepareStatement(anyString())).willReturn(preparedStatement); given(preparedStatement.getConnection()).willReturn(connection); given(preparedStatement.executeQuery()).willReturn(resultSet); given(databaseMetaData.getDatabaseProductName()).willReturn("MySQL"); given(databaseMetaData.supportsBatchUpdates()).willReturn(true); }