anchor.diff:  compile 'io.vertx:vertx-jdbc-client:${maven.version}'
   ----
   
  -== Creating a the client
  -
  -There are several ways to create a client. Let's go through them all.
  -
  -=== Using default shared data source
  -
  -In most cases you will want to share a data source between different client instances.
  -
  -E.g. you scale your application by deploying multiple instances of your verticle and you want each verticle instance
  -to share the same datasource so you don't end up with multiple pools
  -
  -You do this as follows:
  -
  -[source,java]
  -----
  -{@link examples.JDBCExamples#exampleCreateDefault}
  -----
  -
  -The first call to {@link io.vertx.ext.jdbc.JDBCClient#createShared(io.vertx.core.Vertx, io.vertx.core.json.JsonObject)}
  -will actually create the data source, and the specified config will be used.
  -
  -Subsequent calls will return a new client instance that uses the same data source, so the configuration won't be used.
  -
  -=== Specifying a data source name
  -
  -You can create a client specifying a data source name as follows
  -
  -[source,java]
  -----
  -{@link examples.JDBCExamples#exampleCreateDataSourceName}
  -----
  -
  -If different clients are created using the same Vert.x instance and specifying the same data source name, they will
  -share the same data source.
  -
  -The first call to {@link io.vertx.ext.jdbc.JDBCClient#createShared(io.vertx.core.Vertx, io.vertx.core.json.JsonObject)}
  -will actually create the data source, and the specified config will be used.
  -
  -Subsequent calls will return a new client instance that uses the same data source, so the configuration won't be used.
  -
  -Use this way of creating if you wish different groups of clients to have different data sources, e.g. they're
  -interacting with different databases.
  -
  -=== Creating a client with a non shared data source
  -
  -In most cases you will want to share a data source between different client instances.
  -However, it's possible you want to create a client instance that doesn't share its data source with any other client.
  -
  -In that case you can use {@link io.vertx.ext.jdbc.JDBCClient#create(io.vertx.core.Vertx, io.vertx.core.json.JsonObject)}.
  -
  -[source,java]
  -----
  -{@link examples.JDBCExamples#exampleCreateNonShared}
  -----
  -
  -This is equivalent to calling {@link io.vertx.ext.jdbc.JDBCClient#createShared(io.vertx.core.Vertx, io.vertx.core.json.JsonObject, java.lang.String)}
  -with a unique data source name each time.
  -
  -=== Specifying a data source
  -
  -If you already have a pre-existing data source, you can also create the client directly specifying that:
  -
  -[source,java]
  -----
  -{@link examples.JDBCExamples#exampleCreateWithDataSource}
  -----
  -
  -== Closing the client
  -
  -It's fine to keep hold of the client for a long time (e.g. the lifetime of your verticle), but once you're
  -done with it you should close it.
  -
  -Clients that share a data source with other client instances are reference counted. Once the last one that references
  -the same data source is closed, the data source will be closed.
  -
  -=== Automatic clean-up in verticles
  -
  -If you're creating clients from inside verticles, the clients will be automatically closed when the verticle is undeployed.
  -
  -
   == Using the Sql Client API
   
   Sql Client is the vert.x reactive API to communicate with SQL databases. There are already several implementations of the
  
positive.code: {@link examples.SQLExamples#example11}
  ----
  
  === Executing other operations
  
  To execute any other database operation, e.g. a `CREATE TABLE` you can use
  {@link io.vertx.ext.sql.SQLConnection#execute(java.lang.String, io.vertx.core.Handler)}.
  
negative.code: 
  The registered `OUT` parameters will be available as an array in the result set under the output property.
  
  ==== Batch operations
  
  The SQL common interface also defines how to execute batch operations. There are 3 types of batch operations:
  
  