anchor.diff:  SqlLocator, which can load SQL templates from StringTemplate 4 files on the
   classpath.
   
  -==== Transactions
  -
  -You may declare transactions with SqlObject annotations:
  -
  -[source,java,indent=0]
  -----
  -include::{exampledir}/TransactionTest.java[tags=sqlObjectTransaction]
  -----
  -
  -SQL methods with a `@Transaction` annotation may optionally specify a
  -transaction isolation level:
  -
  -[source,java,indent=0]
  -----
  -include::{exampledir}/TransactionTest.java[tags=sqlObjectTransactionIsolation]
  -----
  -
  -If a `@Transaction` method calls another `@Transaction` method, they must
  -specify the same isolation level, or the inner method must not specify
  -anything, in which case the isolation level of the outer method is used.
  -
  -[source,java,indent=0]
  -----
  -include::{exampledir}/TransactionTest.java[tags=sqlObjectNestedTransaction]
  -----
  -
  -TODO: Demonstrate Transactional mixin
  -
  -* Call methods on the mixin to begin, checkpoint, rollback, and commit
  -  transactions.
  -* Be careful using this mixin with on-demand SQL Objects. Only use
  -  inTransaction or useTransaction. None of the others will do what you expect.
  -
   === Default Methods
   
   Occasionally a use case comes up where SQL Method annotations don't fit. In
  
positive.code: ** Call `Jdbi.installPlugins()` to automatically install all SPI plugins on the
     classpath.
  
  JdbiPlugin may be used to perform bulk configuration
  TODO
  
  === JdbiCollector
  
  TODO:
  
negative.code: }
  ----
  
  === Transaction Management
  
  You may declare transactions with SqlObject annotations:
  
  [source,java,indent=0]
  ----
  include::{exampledir}/TransactionTest.java[tags=sqlObjectTransaction]
  ----
  
  SQL methods with a `@Transaction` annotation may optionally specify a
  transaction isolation level:
  
  [source,java,indent=0]
  ----
  include::{exampledir}/TransactionTest.java[tags=sqlObjectTransactionIsolation]
  ----
  
  If a `@Transaction` method calls another `@Transaction` method, they must
  specify the same isolation level, or the inner method must not specify
  anything, in which case the isolation level of the outer method is used.
  
  [source,java,indent=0]
  ----
  include::{exampledir}/TransactionTest.java[tags=sqlObjectNestedTransaction]
  ----
  
  TODO: Demonstrate Transactional mixin
  
  * Call methods on the mixin to begin, checkpoint, rollback, and commit
    transactions.
  * Be careful using this mixin with on-demand SQL Objects. Only use
    inTransaction or useTransaction. None of the others will do what you expect.
  
  === Using SQL Objects
  
  Once you've defined your interface, there are a few ways to get an instance of
  