public QueryPreparer<T> to(NamedSqlQuery query) { return to(query, null); }
private static <T, K> KeyTupleQueryPreparer<K> buildKeyTupleQueryPreparer(ClassMeta<K> keyTarget, CrudMeta crudMeta, JdbcMapperFactory jdbcMapperFactory) { PreparedStatementMapperBuilder<K> builder = jdbcMapperFactory.from(keyTarget); List<String> primaryKeys = new ArrayList<String>(); int i = 1; for(ColumnMeta cm : crudMeta.getColumnMetas()) { if (cm.isKey()) { primaryKeys.add(cm.getColumn()); builder.addColumn(cm.toJdbcColumnKey(i)); i++; } } DefaultContextFactoryBuilder contextFactoryBuilder = new DefaultContextFactoryBuilder(); MultiIndexFieldMapper<K>[] multiIndexFieldMappers = builder.buildIndexFieldMappers(contextFactoryBuilder); return new KeyTupleQueryPreparer<K>(multiIndexFieldMappers, contextFactoryBuilder.build(), primaryKeys.toArray(new String[0])); }
private QueryPreparer<T> preparedStatementMapper(NamedSqlQuery query, String[] generatedKeys) { for(int i = 0; i < query.getParametersSize(); i++) { addColumn(query.getParameter(i).getName()); } boolean hasMultiIndex = propertyMappingsBuilder.forEachProperties(new ForEachCallBack<PropertyMapping<T, ?, JdbcColumnKey>>() { boolean hasMultiIndex; @Override public void handle(PropertyMapping<T, ?, JdbcColumnKey> pm) { hasMultiIndex |= isMultiIndex(pm.getPropertyMeta()); } }).hasMultiIndex; if (hasMultiIndex) { MappingContextFactoryBuilder<T, JdbcColumnKey> mappingContextFactoryBuilder = new MappingContextFactoryBuilder<T, JdbcColumnKey>(keySourceGetter(), !mapperConfig.unorderedJoin()); return new MultiIndexQueryPreparer<T>(query, buildIndexFieldMappers(mappingContextFactoryBuilder), generatedKeys, mappingContextFactoryBuilder.build()); } else { return new MapperQueryPreparer<T>(query, mapper(), generatedKeys); } }
public QueryPreparer<T> to(NamedSqlQuery query, String[] generatedKeys) { PreparedStatementMapperBuilder<T> builder = new PreparedStatementMapperBuilder<T>(this); return builder.preparedStatementMapper(query, generatedKeys); }
public <T> PreparedStatementMapperBuilder<T> buildFrom(final ClassMeta<T> classMeta) { return new PreparedStatementMapperBuilder<T>(classMeta, mapperConfig(), ConstantTargetFieldMapperFactoryImpl.newInstance(PreparedStatementSetterFactory.INSTANCE, PreparedStatement.class)); }
@Test public void testGetterOnlyMethod() throws Exception { PreparedStatementMapperBuilder<DMClass> mapperBuilder = JdbcMapperFactory.newInstance().buildFrom(DMClass.class); mapperBuilder.addColumn("value"); FieldMapper<DMClass, PreparedStatement> mapper = mapperBuilder.mapper(); DMClass dmClass = new DMClass(); PreparedStatement ps = mock(PreparedStatement.class); mapper.mapTo(dmClass, ps, null); verify(ps).setString(1, "value"); }
public QueryPreparer<T> to(NamedSqlQuery query, String[] generatedKeys) { PreparedStatementMapperBuilder<T> builder = new PreparedStatementMapperBuilder<T>(this); return builder.preparedStatementMapper(query, generatedKeys); }
public <T> PreparedStatementMapperBuilder<T> buildFrom(final ClassMeta<T> classMeta) { return new PreparedStatementMapperBuilder<T>(classMeta, mapperConfig(), ConstantTargetFieldMapperFactoryImpl.newInstance(PreparedStatementSetterFactory.INSTANCE, PreparedStatement.class)); }
@Test public void testDirectMeta() throws Exception { PreparedStatementMapperBuilder<DMClass> mapperBuilder = JdbcMapperFactory.newInstance().buildFrom(DMClass.class); mapperBuilder.addColumn("time"); FieldMapper<DMClass, PreparedStatement> mapper = mapperBuilder.mapper(); DMClass dmClass = new DMClass(); dmClass.setTime(new Date()); PreparedStatement ps = mock(PreparedStatement.class); mapper.mapTo(dmClass, ps, null); verify(ps).setTimestamp(1, new Timestamp(dmClass.getTime().getTime())); } @Test
public QueryPreparer<T> to(NamedSqlQuery query) { return to(query, null); }
private static <T, K> KeyTupleQueryPreparer<K> buildKeyTupleQueryPreparer(ClassMeta<K> keyTarget, CrudMeta crudMeta, JdbcMapperFactory jdbcMapperFactory) { PreparedStatementMapperBuilder<K> builder = jdbcMapperFactory.from(keyTarget); List<String> primaryKeys = new ArrayList<String>(); int i = 1; for(ColumnMeta cm : crudMeta.getColumnMetas()) { if (cm.isKey()) { primaryKeys.add(cm.getColumn()); builder.addColumn(cm.toJdbcColumnKey(i)); i++; } } DefaultContextFactoryBuilder contextFactoryBuilder = new DefaultContextFactoryBuilder(); MultiIndexFieldMapper<K>[] multiIndexFieldMappers = builder.buildIndexFieldMappers(contextFactoryBuilder); return new KeyTupleQueryPreparer<K>(multiIndexFieldMappers, contextFactoryBuilder.build(), primaryKeys.toArray(new String[0])); }
private QueryPreparer<T> preparedStatementMapper(NamedSqlQuery query, String[] generatedKeys) { for(int i = 0; i < query.getParametersSize(); i++) { addColumn(query.getParameter(i).getName()); } boolean hasMultiIndex = propertyMappingsBuilder.forEachProperties(new ForEachCallBack<PropertyMapping<T, ?, JdbcColumnKey>>() { boolean hasMultiIndex; @Override public void handle(PropertyMapping<T, ?, JdbcColumnKey> pm) { hasMultiIndex |= isMultiIndex(pm.getPropertyMeta()); } }).hasMultiIndex; if (hasMultiIndex) { MappingContextFactoryBuilder<T, JdbcColumnKey> mappingContextFactoryBuilder = new MappingContextFactoryBuilder<T, JdbcColumnKey>(keySourceGetter(), !mapperConfig.unorderedJoin()); return new MultiIndexQueryPreparer<T>(query, buildIndexFieldMappers(mappingContextFactoryBuilder), generatedKeys, mappingContextFactoryBuilder.build()); } else { return new MapperQueryPreparer<T>(query, mapper(), generatedKeys); } }
@Test public void testCustomGetterOnNonExistantProp() throws Exception { PreparedStatementMapperBuilder<Object> mapperBuilder = JdbcMapperFactory.newInstance() .addColumnProperty("text", new ConstantValueProperty<String>("value2", String.class)) .buildFrom(Object.class); mapperBuilder.addColumn("text"); FieldMapper<Object, PreparedStatement> mapper = mapperBuilder.mapper(); PreparedStatement ps = mock(PreparedStatement.class); mapper.mapTo(new Object(), ps, null); verify(ps).setString(1, "value2"); } }
private static <T, K> QueryPreparer<K> buildDelete(ClassMeta<K> keyTarget, CrudMeta crudMeta, JdbcMapperFactory jdbcMapperFactory) throws SQLException { StringBuilder sb = new StringBuilder("DELETE FROM "); appendTableName(sb, crudMeta); addWhereOnPrimaryKeys(crudMeta, sb); return jdbcMapperFactory.<K>from(keyTarget).to(NamedSqlQuery.parse(sb)); }
insertColumnExpressions.add(cm.getInsertExpression()); if (!cm.isGenerated()) { statementMapperBuilder.addColumn(columnName); MultiIndexFieldMapper<T>[] multiIndexFieldMappers = statementMapperBuilder.buildIndexFieldMappers(defaultContextFactoryBuilder); PostgresqlBatchInsertQueryExecutor<T> queryExecutor = new PostgresqlBatchInsertQueryExecutor<T>( crudMeta,
@Test public void testRename() throws Exception { PreparedStatementMapperBuilder<DMClass> mapperBuilder = JdbcMapperFactory.newInstance() .addAlias("val", "value") .buildFrom(DMClass.class); mapperBuilder.addColumn("val"); FieldMapper<DMClass, PreparedStatement> mapper = mapperBuilder.mapper(); DMClass dmClass = new DMClass(); PreparedStatement ps = mock(PreparedStatement.class); mapper.mapTo(dmClass, ps, null); verify(ps).setString(1, "value"); }
private static <T, K> QueryPreparer<K> buildDelete(ClassMeta<K> keyTarget, CrudMeta crudMeta, JdbcMapperFactory jdbcMapperFactory) throws SQLException { StringBuilder sb = new StringBuilder("DELETE FROM "); appendTableName(sb, crudMeta); addWhereOnPrimaryKeys(crudMeta, sb); return jdbcMapperFactory.<K>from(keyTarget).to(NamedSqlQuery.parse(sb)); }
insertColumnExpressions.add(cm.getInsertExpression()); if (!cm.isGenerated()) { statementMapperBuilder.addColumn(columnName); MultiIndexFieldMapper<T>[] multiIndexFieldMappers = statementMapperBuilder.buildIndexFieldMappers(defaultContextFactoryBuilder); PostgresqlBatchInsertQueryExecutor<T> queryExecutor = new PostgresqlBatchInsertQueryExecutor<T>( crudMeta,