@Override public RowMapper<T> specialize(ResultSet rs, StatementContext ctx) throws SQLException { return new StaticRowMapper<T>(dynamicMapper.getMapper(rs.getMetaData())); } }
@Override public T map(ResultSet resultSet, StatementContext statementContext) throws SQLException { return dynamicMapper.map(resultSet); }
@Test public void testFactoryOnReferenceType() throws SQLException { ResultSet rs = mock(ResultSet.class); ResultSetMetaData metaData = mock(ResultSetMetaData.class); when(rs.getMetaData()).thenReturn(metaData); when(metaData.getColumnCount()).thenReturn(2); when(metaData.getColumnLabel(1)).thenReturn("e0"); when(metaData.getColumnLabel(2)).thenReturn("e1"); when(metaData.getColumnType(1)).thenReturn(Types.VARCHAR); when(metaData.getColumnType(2)).thenReturn(Types.VARCHAR); when(rs.next()).thenReturn(true, false); when(rs.getString(1)).thenReturn("v1"); when(rs.getString(2)).thenReturn("v2"); Tuple2<String, String> tuple2 = JdbcMapperFactoryHelper.asm().newMapper(new TypeReference<Tuple2<String, String>>() { }).iterator(rs).next(); assertEquals("v1", tuple2.first()); assertEquals("v2", tuple2.second()); }
Iterator<InetAndCidr> iterator = mapper.iterator(rs); InetAndCidr next = iterator.next(); System.out.println("next = " + next); Iterator<InetAndCidrAsString> iteratorStr = mapperStr.iterator(rs); InetAndCidrAsString inetAndCidrAsString = iteratorStr.next(); System.out.println("inetAndCidrAsString = " + inetAndCidrAsString);
@Override public ResultSetHandler<T> newResultSetHandler(ResultSetMetaData resultSetMetaData) throws SQLException { JdbcMapper<T> staticMapper = mapper.getMapper(resultSetMetaData); return new SfmResultSetHandler<T>(staticMapper); }
assertEquals(dbObject, JdbcMapperFactory.newInstance().newMapper(DbObject.class).map(resultSet)); } finally { ps.close();
Iterator<O530> iterator = mapper.iterator(rs); O530 next = iterator.next();
@SuppressWarnings("unchecked") @Override public T map(int i, ResultSet resultSet, StatementContext statementContext) throws SQLException { JdbcMapper<T> mapper = (JdbcMapper<T>) statementContext.getAttribute(STATEMENT_MAPPER); if (mapper == null) { mapper = dynamicMapper.getMapper(resultSet.getMetaData()); statementContext.setAttribute(STATEMENT_MAPPER, mapper); } return mapper.map(resultSet, mapper.newMappingContext(resultSet)); } }