initMySQLPool
package com.be.edge.asset.source; import io.vertx.core.AbstractVerticle;
import io.vertx.core.Promise;
import io.vertx.core.json.JsonObject;
import io.vertx.mysqlclient.MySQLConnectOptions;
import io.vertx.mysqlclient.MySQLPool;
import io.vertx.sqlclient.PoolOptions;
import io.vertx.sqlclient.Row;
import io.vertx.sqlclient.RowSet;
import lombok.extern.slf4j.Slf4j; @Slf4j
public class MySQLVerticle extends AbstractVerticle {
private MySQLPool client; @Override
public void start(Promise<Void> startPromise) throws Exception {
initMySQLPool();
/*
client.query("SELECT * FROM data_list WHERE id = 1")
.execute(ar -> {
if (ar.succeeded()) {
RowSet<Row> result = ar.result();
log.info("Got {} rows {}", result.size(), result);
} else {
log.info("Failure {}", ar.cause().getMessage());
}
client.close();
});
*/ client.getConnection().compose(conn -> {
// All operations execute on the same connection
return conn
.query("SELECT * FROM data_list WHERE id = 1")
.execute()
.compose(res -> conn
.query("SELECT * FROM data_list WHERE id = 2")
.execute())
.onComplete(ar -> {
// Release the connection to the pool
conn.close();
});
}).onComplete(ar -> {
if (ar.succeeded()) {
RowSet<Row> result = ar.result();
log.info("Got {} rows {}", result.rowCount(), result);
for (Row row : result) {
log.info("data {} {}", row.getInteger(0), row.getString(1));
}
} else {
System.out.println("Something went wrong " + ar.cause().getMessage());
}
});
} private void initMySQLPool() {
JsonObject config = config();
MySQLConnectOptions connectOptions = new MySQLConnectOptions(config.getJsonObject("connect"));
PoolOptions poolOptions = new PoolOptions(config.getJsonObject("pool"));
client = MySQLPool.pool(vertx, connectOptions, poolOptions);
}
}
initMySQLPool的更多相关文章
- 基于 Serverless Component 全栈解决方案
什么是 Serverless Component Serverless Component 是 Serverless Framework 的,支持多个云资源编排和组织的场景化解决方案. Serverl ...
随机推荐
- PRT预计算辐射传输方法
PRT(Precomputed Radiance Transfer)技术是一种用于实时渲染全局光照的方法.它通过预计算光照传输来节省时间,并能够实时重现面积光源下3D模型的全局光照效果. 由于PRT方 ...
- NVM使用说明
下载:https://github.com/coreybutler/nvm-windows/releases 切换镜像源: settting.txt文件后面添加 node_mirror: https ...
- 封装大屏组件 screenfull
错误场景:使用大屏插件 screenFull 报错:in ./node_modules/screenfull/index.js Module parse failed: Unexpected tok ...
- DiTAC:不知如何提升性能?试试这款基于微分同胚变换的激活函数 | ECCV'24
非线性激活函数对深度神经网络的成功至关重要,选择合适的激活函数可以显著影响其性能.大多数网络使用固定的激活函数(例如,ReLU.GELU等),这种选择可能限制了它们的表达能力.此外,不同的层可能从不同 ...
- 指针进阶(数组指针 )(C语言)
1. 数组名的理解 在指针入门中我们在使用指针访问数组的内容时,有这样的代码: int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int *p = &arr[0]; ...
- 熟悉使用DOS操作命令
DOS操作实验 一.实验目的 DOS是市场上早期获得巨大成功的桌面操作系统,现在很多同学都不太熟悉.本实验的目的就是让同学们读者从操作系统理论的观点来重新认识它们,了解和掌握DOS有关用户接口的特点. ...
- 使用VSCode进行WSL2的本机调试
首先我们需要安装Remote Development插件(这个Remote-WSL一定要保证是装上的哦). 然后我们先连接到WSL. (第一次进入远程模式,会慢一些,需要下载一些组件) (如果你打开这 ...
- TP6 使用 nusoap为第三方webservice调用插件
composer下载插件 composer require nusoap/nusoap use NuSoap\Client\Client; class Index extends BaseContro ...
- 如何使用,操作Redis数据库
本博客不再维护,搬家到 http://zthinker.com .个人微信小程序(分布式编程) Redis是一个开源的内存中键值数据存储.Redis是NoSQL数据库,它不使用结构化查询语言,也称为S ...
- python爬虫利器之Playwright
Playwright 是微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium.Pyppeteer 等,都可以驱动浏览器进行各种自动化操作.它的功能也非常强大,对市面上的主 ...