使用preparedstatement出现的异常

String sql="delete from emp where id=?";

stmt.setInt(1,3);

stmt.executeUpdate(sql);

抛出SQLException executeUpdate()里面没有参数 

Flink(Apache Flink)是一个开源的流处理框架,它本身并不直接支持像传统的关系型数据库那样的PreparedStatement和batch提交操作,因为它的主要关注点在于实时数据流的处理。然而,在Flink与外部数据库交互时,特别是在使用JDBC连接时,你可以通过Flink的Table API或者SQL API来模拟类似的操作。 例如,如果你需要批量插入数据到数据库,可以创建一个批处理任务,将数据存储在一个Flink Table或DataStream中,然后转换成PreparedStatement的形式,并调用JDBC的`executeBatch()`方法。这是一个伪代码示例: ```java // 创建DataStream或Table DataStream<String> data = ... // 某种源头的数据流 Table table = ... // 或者从DataStream转换成表 // 准备PreparedStatement List预设语句 = new ArrayList<>(); for (String sql : prepareInsertSqls) { PreparedStatement preparedStatement = connection.prepareStatement(sql); // 预置参数... preSetStatements.add(preparedStatement); } // 执行批量提交 table.execute(batch -> { for (PreparedStatement statement : preSetStatements) { try { statement.addBatch(); // 添加到批处理 if (batch.isFull()) { // 当达到最大批量大小时执行一次 batch.execute(); batch.clear(); // 清空批处理,准备下一批 } } catch (SQLException e) { // 处理异常并回滚 rollback(connection); } } if (!batch.isEmpty()) { // 提交剩余未执行的批处理 batch.execute(); } }); ``` 请注意,这只是一个基本的概念示例,实际操作中你需要确保事务管理和错误处理。而且,由于Flink的任务通常异步执行,你可能需要额外的设计来保证最终一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值