Using connections
When you need to execute sequential queries (without a transaction), you can create a new connection or borrow one from the pool:
Code not translatable
Prepared queries can be created:
var Tuple = require("vertx-sql-client-js/tuple");
connection.prepare("SELECT * FROM users WHERE first_name LIKE ?", function (ar1, ar1_err) {
if (ar1_err == null) {
var pq = ar1;
pq.execute(Tuple.of("julien"), function (ar2, ar2_err) {
if (ar2_err == null) {
// All rows
var rows = ar2;
}
});
}
});
|
Note
|
prepared query caching depends on the cachePreparedStatements and
does not depend on whether you are creating prepared queries or use direct prepared queries
|
PreparedQuery can perform efficient batching:
var Tuple = require("vertx-sql-client-js/tuple");
connection.prepare("INSERT INTO USERS (id, name) VALUES (?, ?)", function (ar1, ar1_err) {
if (ar1_err == null) {
var prepared = ar1;
// Create a query : bind parameters
var batch = [];
// Add commands to the createBatch
batch.push(Tuple.of("julien", "Julien Viet"));
batch.push(Tuple.of("emad", "Emad Alblueshi"));
prepared.batch(batch, function (res, res_err) {
if (res_err == null) {
// Process rows
var rows = res;
} else {
console.log("Batch failed " + res_err);
}
});
}
});