@Test public void testUser() throws SQLException { JdbcMapper<User> mapper = userJdbcMapperFactory.newBuilder(User.class).addKey("id").addMapping("name").addMapping("roles_name").mapper(); ResultSet rs = mock(ResultSet.class); when(rs.next()).thenReturn(true, true, false); when(rs.getInt(1)).thenReturn(1, 1); when(rs.getString(2)).thenReturn("n1", "n1"); when(rs.getString(3)).thenReturn("r1", "r2"); Iterator<User> iterator = mapper.iterator(rs); User u = iterator.next(); assertEquals(1, u.id); assertEquals("n1", u.name); assertEquals(2, u.roles.size()); }
@Override public void handle(PreparedStatement t) throws Exception { ResultSet rs = t.executeQuery(); final JdbcMapper<DbListOfString> mapper = JdbcMapperFactoryHelper.asm().useAsm(asm).newBuilder( DbListOfString.class).addKey("id").addKey("objects_0") .addMapping(rs.getMetaData()).mapper(); List<DbListOfString> strings = mapper.forEach(rs, new ListCollector<DbListOfString>()).getList(); assertEquals(1, strings.size()); assertEquals(12, strings.get(0).getId()); assertEquals(1, strings.get(0).getObjects().size()); } }
@Test public void testJoinTableGSManualMapping() throws Exception { JdbcMapper<ProfessorGS> mapper = JdbcMapperFactoryHelper.asm() .newBuilder(ProfessorGS.class) .addKey("id") .addMapping("name") .addKey("students_id") .addMapping("students_name") .addMapping("students_phones_value") .mapper(); validateMapper(mapper); }
@Test public void jdbcMapperGetterNotFound() { try { JdbcMapperFactory.newInstance().newBuilder(Foo2.class).addKey("bar").mapper(); fail(); } catch(MapperBuildingException e) { // assertTrue(e.getMessage().contains("CSFM_GETTER")); // expected } }
@Test public void jdbcMapperGetterNotFound() { try { JdbcMapperFactory.newInstance().newBuilder(Foo2.class).addKey("bar").mapper(); fail(); } catch(MapperBuildingException e) { // assertTrue(e.getMessage().contains("CSFM_GETTER")); // expected } }
@Test public void jdbcMapperCustomGetter() { JdbcMapperFactory .newInstance() .addColumnProperty("bar", new GetterProperty(new Getter<ResultSet, Bar2>() { @Override public Bar2 get(ResultSet target) throws Exception { return new Bar2(target.getString("bar"), 2); } })) .newBuilder(Foo2.class) .addKey("bar").mapper(); }
@Test public void jdbcMapperCustomGetter() { JdbcMapperFactory .newInstance() .addColumnProperty("bar", new GetterProperty(new Getter<ResultSet, Bar2>() { @Override public Bar2 get(ResultSet target) throws Exception { return new Bar2(target.getString("bar"), 2); } })) .newBuilder(Foo2.class) .addKey("bar").mapper(); }