簡體   English   中英

如何將生成的數據存儲在數據庫中?

[英]how to store produced data in database?

我在 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. 您正在從數據庫中讀取,而不是插入其中

  2. 你在每次循環迭代后關閉數據庫連接,這意味着你會得到一個異常,即數據庫已經在第二個循環中關閉,因此結果集也可能終止(如果那些是懶惰的,我有點模糊對象與否)

我可以建議您按照 JDBC 連接器上的 Deep Dive 進行操作嗎? https://dev.to/rmoff/kafka-connect-jdbc-sink-tips-tricks-video-walkthrough-2egf

我從字面上復制粘貼它因為作者說它有效

這永遠不是學習任何東西的好方法。 您可以閱讀代碼並將其全部鍵入,並在 go 時向自己解釋......但永遠不要盲目復制您認為可以解決問題的內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM