@OverrideStatementRewriterWith(HashPrefixStatementRewriter.class) static interface Hashed { @SqlUpdate("insert into something (id, name) values (#id, #name)") public void insert(@BindBean Something s); @SqlQuery("select id, name from something where id = #id") public Something findById(@Bind("id") int id); }
public SqlStatementCustomizer createForMethod(Annotation annotation, Class sqlObjectType, Method method) { OverrideStatementRewriterWith anno = (OverrideStatementRewriterWith) annotation; try { final StatementRewriter rw = instantiate(anno.value(), sqlObjectType, method); return new SqlStatementCustomizer() { public void apply(SQLStatement q) { q.setStatementRewriter(rw); } }; } catch (Exception e) { throw new IllegalStateException(e); } }
public SqlStatementCustomizer createForType(Annotation annotation, Class sqlObjectType) { OverrideStatementRewriterWith anno = (OverrideStatementRewriterWith) annotation; try { final StatementRewriter rw = instantiate(anno.value(), sqlObjectType, null); return new SqlStatementCustomizer() { public void apply(SQLStatement q) { q.setStatementRewriter(rw); } }; } catch (Exception e) { throw new IllegalStateException(e); } }
@OverrideStatementRewriterWith(HashPrefixStatementRewriter.class) @RegisterMapper(SomethingMapper.class) static interface Hashed { @SqlUpdate("insert into something (id, name) values (#id, #name)") public void insert(@BindBean Something s); @SqlQuery("select id, name from something where id = #id") public Something findById(@Bind("id") int id); }
@Override public SqlStatementCustomizer createForMethod(Annotation annotation, Class sqlObjectType, Method method) { OverrideStatementRewriterWith anno = (OverrideStatementRewriterWith) annotation; try { final StatementRewriter rw = instantiate(anno.value(), sqlObjectType, method); return new SqlStatementCustomizer() { @Override public void apply(SQLStatement q) { q.setStatementRewriter(rw); } }; } catch (Exception e) { throw new IllegalStateException(e); } }
@Override public SqlStatementCustomizer createForType(Annotation annotation, Class sqlObjectType) { OverrideStatementRewriterWith anno = (OverrideStatementRewriterWith) annotation; try { final StatementRewriter rw = instantiate(anno.value(), sqlObjectType, null); return new SqlStatementCustomizer() { @Override public void apply(SQLStatement q) { q.setStatementRewriter(rw); } }; } catch (Exception e) { throw new IllegalStateException(e); } }