@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessOverdueStatusMapper.class) public interface BusinessOverdueStatusSqlDao extends Transactional<BusinessOverdueStatusSqlDao>, Transmogrifier { @SqlQuery List<BusinessOverdueStatusModelDao> getOverdueStatusesForBundleByKey(@Bind("external_key") final String externalKey, @InternalTenantContextBinder final InternalTenantContext context); @SqlUpdate int createOverdueStatus(@BusinessOverdueStatusBinder final BusinessOverdueStatusModelDao status, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void deleteOverdueStatusesForBundle(@Bind("bundle_id") final String bundleId, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void test(@InternalTenantContextBinder final InternalTenantContext context); }
public SqlStatementCustomizer createForType(Annotation annotation, Class sqlObjectType) { final ExternalizedSqlViaStringTemplate3 a = (ExternalizedSqlViaStringTemplate3) annotation; final StringTemplate3StatementLocator.Builder builder; if (DEFAULT_VALUE.equals(a.value())) { builder = StringTemplate3StatementLocator.builder(sqlObjectType); } else { builder = StringTemplate3StatementLocator.builder(a.value()); } final StatementLocator l = builder.shouldCache().build(); return new SqlStatementCustomizer() { public void apply(SQLStatement q) { q.setStatementLocator(l); } }; }
@Override public SqlStatementCustomizer createForType(Annotation annotation, Class sqlObjectType) { final ExternalizedSqlViaStringTemplate3 a = (ExternalizedSqlViaStringTemplate3) annotation; final StringTemplate3StatementLocator.Builder builder; if (DEFAULT_VALUE.equals(a.value())) { builder = StringTemplate3StatementLocator.builder(sqlObjectType); } else { builder = StringTemplate3StatementLocator.builder(a.value()); } final StatementLocator l = builder.shouldCache().build(); return new SqlStatementCustomizer() { @Override public void apply(SQLStatement q) { q.setStatementLocator(l); } }; }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessInvoiceTagMapper.class) public interface BusinessInvoiceTagSqlDao { @SqlQuery List<BusinessInvoiceTagModelDao> getTagsForInvoice(@Bind("invoice_id") final String invoiceId, @InternalTenantContextBinder final InternalTenantContext context); @SqlUpdate int addTag(@Bind("invoice_id") final String invoiceId, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate int removeTag(@Bind("invoice_id") final String invoiceId, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void test(@InternalTenantContextBinder final InternalTenantContext context); }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessInvoicePaymentFieldMapper.class) public interface BusinessInvoicePaymentFieldSqlDao { @SqlQuery List<BusinessInvoicePaymentFieldModelDao> getFieldsForInvoicePayment(@Bind("payment_id") final String paymentId, @InternalTenantContextBinder final InternalTenantContext context); @SqlUpdate int addField(@Bind("payment_id") final String paymentId, @Bind("name") final String name, @Bind("value") final String value, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate int removeField(@Bind("payment_id") final String paymentId, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void test(@InternalTenantContextBinder final InternalTenantContext context); }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessAccountTagMapper.class) public interface BusinessAccountTagSqlDao { @SqlQuery List<BusinessAccountTagModelDao> getTagsForAccountByKey(@Bind("account_key") final String accountKey, @InternalTenantContextBinder final InternalTenantContext context); @SqlUpdate int addTag(@Bind("account_id") final String accountId, @Bind("account_key") final String accountKey, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate int removeTag(@Bind("account_id") final String accountId, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void test(@InternalTenantContextBinder final InternalTenantContext context); }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessInvoicePaymentMapper.class) public interface BusinessInvoicePaymentSqlDao extends Transactional<BusinessInvoicePaymentSqlDao>, Transmogrifier { @SqlQuery BusinessInvoicePaymentModelDao getInvoicePayment(@Bind("payment_id") final String paymentId, @InternalTenantContextBinder final InternalTenantContext context); @SqlQuery List<BusinessInvoicePaymentModelDao> getInvoicePaymentsForAccountByKey(@Bind("account_key") final String accountKey, @InternalTenantContextBinder final InternalTenantContext context); @SqlUpdate int createInvoicePayment(@BusinessInvoicePaymentBinder final BusinessInvoicePaymentModelDao payment, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate int deleteInvoicePayment(@Bind("payment_id") final String paymentId, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void test(@InternalTenantContextBinder final InternalTenantContext context); }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessAccountFieldMapper.class) public interface BusinessAccountFieldSqlDao { @SqlQuery List<BusinessAccountFieldModelDao> getFieldsForAccountByKey(@Bind("account_key") final String accountKey, @InternalTenantContextBinder final InternalTenantContext context); @SqlUpdate int addField(@Bind("account_id") final String accountId, @Bind("account_key") final String accountKey, @Bind("name") final String name, @Bind("value") final String value, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate int removeField(@Bind("account_id") final String accountId, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void test(@InternalTenantContextBinder final InternalTenantContext context); }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessInvoicePaymentTagMapper.class) public interface BusinessInvoicePaymentTagSqlDao { @SqlQuery List<BusinessInvoicePaymentTagModelDao> getTagsForInvoicePayment(@Bind("payment_id") final String paymentId, @InternalTenantContextBinder final InternalTenantContext context); @SqlUpdate int addTag(@Bind("payment_id") final String paymentId, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate int removeTag(@Bind("payment_id") final String paymentId, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void test(@InternalTenantContextBinder final InternalTenantContext context); }
@ExternalizedSqlViaStringTemplate3 static interface Wombat { @SqlUpdate public void insert(@BindBean Something s); @SqlQuery public Something findById(@Bind("id") Long id); @SqlQuery("select name from something where id = :it") String findNameFor(@Bind int id); @SqlUpdate void weirdInsert(@Define("table") String table, @Define("id_column") String idColumn, @Define("value_column") String valueColumn, @Bind("id") int id, @Bind("value") String name); @SqlBatch void insertBunches(@BindBean Something... somethings); } }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessInvoiceFieldMapper.class) public interface BusinessInvoiceFieldSqlDao { @SqlQuery List<BusinessInvoiceFieldModelDao> getFieldsForInvoice(@Bind("invoice_id") final String invoiceId, @InternalTenantContextBinder final InternalTenantContext context); @SqlUpdate int addField(@Bind("invoice_id") final String invoiceId, @Bind("name") final String name, @Bind("value") final String value, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate int removeField(@Bind("invoice_id") final String invoiceId, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void test(@InternalTenantContextBinder final InternalTenantContext context); }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessSubscriptionTransitionFieldMapper.class) public interface BusinessSubscriptionTransitionFieldSqlDao { @SqlQuery List<BusinessSubscriptionTransitionFieldModelDao> getFieldsForBusinessSubscriptionTransitionByKey(@Bind("external_key") final String externalKey, @InternalTenantContextBinder final InternalTenantContext context); @SqlUpdate int addField(@Bind("account_key") final String accountKey, @Bind("bundle_id") final String bundleId, @Bind("external_key") final String externalKey, @Bind("name") final String name, @Bind("value") final String value, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate int removeField(@Bind("bundle_id") final String bundleId, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void test(@InternalTenantContextBinder final InternalTenantContext context); }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessSubscriptionTransitionTagMapper.class) public interface BusinessSubscriptionTransitionTagSqlDao { @SqlQuery List<BusinessSubscriptionTransitionTagModelDao> getTagsForBusinessSubscriptionTransitionByKey(@Bind("external_key") final String externalKey, @InternalTenantContextBinder final InternalTenantContext context); @SqlUpdate int addTag(@Bind("account_key") final String accountKey, @Bind("bundle_id") final String bundleId, @Bind("external_key") final String externalKey, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate int removeTag(@Bind("bundle_id") final String bundleId, @Bind("name") final String name, @InternalTenantContextBinder final InternalCallContext context); @SqlUpdate void test(@InternalTenantContextBinder final InternalTenantContext context); }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(UuidMapper.class) public interface AnalyticsSanitySqlDao extends Transactional<AnalyticsSanitySqlDao>, Transmogrifier {
@ExternalizedSqlViaStringTemplate3() @RegisterMapper({BusinessAccountMapper.class, TimeSeriesTupleMapper.class}) public interface BusinessAccountSqlDao extends Transactional<BusinessAccountSqlDao>, Transmogrifier {
@ExternalizedSqlViaStringTemplate3() public interface DummySqlTest extends Transactional<DummySqlTest>, Transmogrifier, CloseMe { @SqlUpdate public void insertDummy(@Bind(binder = DummySqlTestBinder.class) DummyObject dummy); @SqlQuery @Mapper(DummySqlTestMapper.class) public DummyObject getDummyFromId(@Bind("dummy_id") String dummyId); public static class DummySqlTestBinder implements Binder<Bind, DummyObject> { @Override public void bind(@SuppressWarnings("rawtypes") final SQLStatement stmt, final Bind bind, final DummyObject dummy) { stmt.bind("dummy_id", dummy.getKey().toString()); stmt.bind("value", dummy.getValue()); } } public static class DummySqlTestMapper implements ResultSetMapper<DummyObject> { @Override public DummyObject map(final int index, final ResultSet r, final StatementContext ctx) throws SQLException { final UUID key = UUID.fromString(r.getString("dummy_id")); final String value = r.getString("value"); return new DummyObject(value, key); } } }
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessInvoiceItemMapper.class) public interface BusinessInvoiceItemSqlDao extends Transactional<BusinessInvoiceItemSqlDao>, Transmogrifier {
@ExternalizedSqlViaStringTemplate3() @RegisterMapper({BusinessSubscriptionTransitionMapper.class, TimeSeriesTupleMapper.class}) public interface BusinessSubscriptionTransitionSqlDao extends Transactional<BusinessSubscriptionTransitionSqlDao> {
@ExternalizedSqlViaStringTemplate3() @RegisterMapper(BusinessInvoiceMapper.class) public interface BusinessInvoiceSqlDao extends Transactional<BusinessInvoiceSqlDao>, Transmogrifier {
@ExternalizedSqlViaStringTemplate3 @RegisterMapper(SomethingMapper.class) static interface Wombat { @SqlUpdate public void insert(@BindBean Something s); @SqlQuery public Something findById(@Bind("id") Long id); @SqlQuery("select name from something where id = :it") String findNameFor(@Bind int id); @SqlUpdate void weirdInsert(@Define("table") String table, @Define("id_column") String idColumn, @Define("value_column") String valueColumn, @Bind("id") int id, @Bind("value") String name); @SqlBatch void insertBunches(@BindBean Something... somethings); } }