java - 如何将生成的数据存储在数据库中?
问题描述
我在 java 上创建了一个工作正常的 kafka 生产者,现在我试图将生成的数据存储在 mySQL 数据库中,但我不知道如何。我试过这段代码,但它不起作用
try {
String MyUrl = "jdbc:mysql://130.2.2.2/pfa";
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(MyUrl, "root", "");
Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery("select * from tmp");
while(rs.next()) {
producer.send(new ProducerRecord<String, String>("test",rs.getString(1)));
con.close();
}
}catch(Exception e) {System.out.println(e);}
非常感谢有关将数据发送到数据库的任何帮助
解决方案
我不确定我是否理解您期望从该代码中发生什么。
您正在从数据库中读取,从不插入其中
您在每次循环迭代后关闭数据库连接,这意味着您将得到一个异常,即数据库已经在第二个循环中关闭,因此结果集也可能终止(如果这些是懒惰的,我有点模糊对象与否)
我可以建议您关注 JDBC 连接器上的 Deep Dive 吗?https://dev.to/rmoff/kafka-connect-jdbc-sink-tips-tricks-video-walkthrough-2egf
我复制粘贴它,因为作者说它有效
这绝不是学习任何东西的好方法。您可以阅读代码并将其全部输入,边走边向自己解释......但切勿盲目复制您认为可以解决问题的内容
推荐阅读
- visual-studio - 如何使 GUI 和窗口重新出现在 Visual Basic 上?
- xamarin - Xamarin 内存限制或?
- python - 使用 Pandas 使用 .txt 文件创建新数据框
- scala - 如何在 Scala 中读取匹配模式的前一行?
- c# - 如何根据坐标找到地形的旋转?
- git - 更改了 GitHub 密码,不能再在终端上推送代码。我该如何解决?
- javascript - 无法在导出的 CSV 文件中显示变音符号
- python - 用透视图绘制 3-D 曲面和线
- amazon-web-services - 在 VPC 中使用 Lambda 和 SNS+RDS
- angular - 将数据从 servlet javaEE 发送到 Angular 组件