gpt4 book ai didi

java - 如何使用 Vert.x 从 JDBC + Java 获取数据到 Javascript?

转载 作者:行者123 更新时间:2023-11-30 18:01:54 25 4
gpt4 key购买 nike

我是 vertx 的新手,但我已经使用 java 类创建了 JDBC 连接管理器,我可以在其中打印结果集中的数据:

ConnectionManager cm=ConnectionManager.getInstance();
Connection conn = cm.getConnection();
try {
Statement stmt=conn.createStatement();
try {
ResultSet rs =
stmt.executeQuery("select username, password from users");
try {
if (rs.next()){
System.out.println(rs.getString(1));
}
} finally {
rs.close();
}

} finally {
stmt.close();
}

} finally {
conn.close();
}

现在我想将我的 vertx javascript 应用程序连接到这个 java 类。我似乎不知道从哪里开始。我从 Google 网上论坛找到了一些来源,但似乎没有一个能说明一些问题:

从 JavaScript 加载 JDBC 驱动程序 https://groups.google.com/forum/?fromgroups#!topic/vertx/_oJQaeH07Sg

从 Javascript 执行 Java https://groups.google.com/forum/#!msg/vertx/VyZj2yqqGTM/tvnTg4T55kMJ

我还找到了一个用于 Vert.x 的 jdbc-persistor:

JDBC 持久化 https://github.com/timyates/mod-jdbc-persistor/

我仍在尝试了解如何将它与我的应用程序一起使用。之后我会发布我可以分享的任何信息,但是现在,任何人都可以帮助我(持久性或直接 Java 通信)吗?谢谢。

最佳答案

据我所知,唯一的方法是使用事件总线。您将您的 Java 代码放在 Verticle 类中(或者替代地创建一个专门用于该目标的模块)。像这样

public class JavaFromEverywhere extends Verticle {

@Override
public void start() throws Exception {
vertx.eventBus().registerHandler("invokeFromAnyLanguage", new Handler<Message<String>>(){
public void handle(Message<String> e) {
doSomething();
}

});
}

private void doSomething() {
// your database code here
}

}

然后在你的javascript中你应该写

vertx.eventBus.send("invokeFromAnyLanguage", "");

这是一个简单的场景。如果你想做更复杂的事情,比如向你的 JS 发送从数据库接收到的字符串,你可以扩展 BusModBase 并发回数据。同时在你的 JS 中你应该注册一个处理程序来处理回复

public class JavaReply extends BusModBase {

@Override
public void start() {
eb.registerHandler("invokeFromAnyLanguage", new Handler<Message<String>>(){
public void handle(Message<String> e) {
String something = doSomething();
e.reply(something);
}
});
}

private String doSomething() {
// your database code here
return "databaseResult";
}

}

你的 JS 代码应该是这样的

eb.send("invokeFromAnyLanguage", "", function(javareply) {
// your answer in javareply
});

HTH,此致

卡罗

关于java - 如何使用 Vert.x 从 JDBC + Java 获取数据到 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16767667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com