Tidb.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.cxzx.db;
  2. import cn.hutool.core.collection.CollUtil;
  3. import lombok.Cleanup;
  4. import lombok.SneakyThrows;
  5. import java.sql.Connection;
  6. import java.sql.DriverManager;
  7. import java.sql.SQLException;
  8. import java.util.List;
  9. public class Tidb {
  10. private static final Connection connection;
  11. static {
  12. try {
  13. Class.forName("com.mysql.cj.jdbc.Driver");
  14. connection = DriverManager.getConnection("jdbc:mysql://172.16.101.1:4000/huaqiyun?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true",
  15. "root", "msstar");
  16. } catch (ClassNotFoundException | SQLException e) {
  17. throw new RuntimeException(e);
  18. }
  19. }
  20. @SneakyThrows
  21. public static void insert(List<KafkaData> kafkaDataList) {
  22. if (CollUtil.isEmpty(kafkaDataList)) {
  23. return;
  24. }
  25. var preparedStatement = connection.prepareStatement("insert ignore into article (offset,create_time,data) values (?,?,?)");
  26. try (preparedStatement) {
  27. for (KafkaData kafkaData : kafkaDataList) {
  28. preparedStatement.setLong(1, kafkaData.getOffset());
  29. preparedStatement.setTimestamp(2, kafkaData.getCreateTime());
  30. preparedStatement.setString(3, kafkaData.getData());
  31. preparedStatement.addBatch();
  32. }
  33. preparedStatement.executeBatch();
  34. }
  35. }
  36. }