提问者:小点点

如何将生产数据存储到数据库中?


我在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);}

非常感谢您在向数据库发送数据方面提供的任何帮助


共1个答案

匿名用户

我不确定我是否理解您希望从该代码中发生什么。

>

  • 您正在从数据库中读取数据,而从不向其中插入数据

    在每次循环迭代之后,您都将关闭数据库连接,这意味着您将得到一个异常,即数据库在第二个循环时已经关闭,因此resultset可能也会终止(我不清楚这些是否是惰性对象)

    我可以建议您继续深入研究JDBC连接器吗? https://dev.to/rmoff/kafka-connect-jdbc-sink-tips-tricks-video-walkthrough-2egf

    我照搬粘贴了它,因为作者说它有用

    这永远不会是一个学习任何东西的好方法。 您可以阅读代码,然后将其全部键入,并在执行过程中对其进行解释。。。 但千万不要盲目地照搬你以为能解决问题的东西