vert.x 连接mysql_Vert-x-通过异步的方式使用JDBC连接SQL

在这篇文章中,我们将会看到怎样在vert.x应用中使用HSQL,当然也可以使用任意JDBC,以及使用vertx-jdbc-client提供的异步的API,这篇文章的代码在github。

异步?

vert.x一个很重要的特点就是它的异步性。使用异步的API,不需要等结果返回,当有结果返回时,vert.x会主动通知。为了说明这个,我们来看一个简单的例子。

我们假设有个add方法。一般来说,会像int r = add(1, 1)这样来使用它。这是一个同步的API,所以你必须等到返回结果。异步的API会是这样:add(1, 1, r -> { /*do something with the result*/})。在这个版本中,你传入了一个Handler,当结果计算出来时才被调用。这个方法不返回任何东西,实现如下:

public void add(int a, int b, Handler resultHandler) {

int r = a + b;

resultHandler.handle(r);

}

为了避免混淆概念,异步API并不是多线程。像我们在add例子里看到的,并没有涉及多线程。

异步JDBC

看了一些基本的异步的API,现在了解下vertx-jdbc-client。这个组件能够让我们通过JDBC driver与数据库交互。这些交互都是异步的,以前这样:

String sql = "SELECT * FROM Products";

ResultSet rs = stmt.executeQuery(sql);

现在要这样:

connection.query("SELECT * FROM Products", result -> {

// do something with the result

});

这个模型更高效,当结果出来后vert.x通知,避免了等待结果。

增加maven依赖

在pom.xml文件中增加两个 Maven dependencies

io.vertx

vertx-jdbc-client

3.1.0

org.hsqldb

hsqldb

2.3.3

第一个依赖提供了vertx-jdbc-client,第二个提供了HSQL JDBC的驱动。如果你想使用另外一个数据库,修改这个依赖,同时你还需要修改JDBC url和JDBC driver名。

初始化JDBC client

创建JDBC 客户端(client):

在MyFirstVerticle类中,声明一个新变量JDBCClient jdbc,并且在start方法中添加:

jdbc = JDBCClient.createShared(vertx, config(), "My-Whisky-Collection");

创建了一个JDBC client实例,使用verticle的配置文件配置JDBC client。这个配置文件需要提供下面的配置才能让JDBC client正常工作:

url-JDBC ur

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值