protected Handle augmentHandle(final Handle handle) { handle.setStatementLocator(statementLocator); handle.setStatementRewriter(statementRewriter); for (Map.Entry<String, Object> entry : defines.entrySet()) { handle.define(entry.getKey(), entry.getValue()); } return handle; }
@Override protected Handle wrapHandle(final Handle handle) { if (locator != null) { handle.setStatementLocator(locator); } if (builder != null) { handle.setStatementBuilder(builder); } if (rewriter != null) { handle.setStatementRewriter(rewriter); } return handle; }
@Override public Void withHandle(final Handle handle) throws Exception { handle.setStatementLocator(new StringTemplate3StatementLocator(TimelineSqlDao.class));
@Test public void testFoo() throws Exception { Handle h = openHandle(); h.setStatementLocator(new StatementLocator() { @Override public String locate(String name, StatementContext ctx) throws Exception { return name.replaceAll("<table>", String.valueOf(ctx.getAttribute("table"))); } }); final int inserted = h.createStatement("insert into <table> (id, name) values (:id, :name)") .bind("id", 7) .bind("name", "Martin") .define("table", "something") .execute(); assertEquals(1, inserted); } }
@Test public void testFoo() throws Exception { Handle h = openHandle(); h.setStatementLocator(new StatementLocator() { @Override public String locate(String name, StatementContext ctx) throws Exception { return name.replaceAll("<table>", String.valueOf(ctx.getAttribute("table"))); } }); final int inserted = h.createStatement("insert into <table> (id, name) values (:id, :name)") .bind("id", 7) .bind("name", "Martin") .define("table", "something") .execute(); assertEquals(1, inserted); } }